我正在应用程序表示20个图形按钮控制在一个MainWindow(Button1到Button20). 每一个按钮控制可以显示一串的内容,并具有提示作为设计下:
<Button x:Name="button1" FontWeight="Bold" FontSize="15" Content="" HorizontalAlignment="Left" Margin="20,69,0,0" VerticalAlignment="Top" Width="92" Height="29" Click="Button_Click" Background="#FFFFFFFF" MouseEnter="button_MouseEnter">
<Button.ToolTip>
<Border Margin="-4,0,-4,-3" Padding="10" Background="Yellow">
<Border.BitmapEffect>
<OuterGlowBitmapEffect></OuterGlowBitmapEffect>
</Border.BitmapEffect>
<Label x:Name ="lbl1" FontSize="20" Content="{Binding Path=ToolTip}">
</Label>
</Border>
</Button.ToolTip>
<Button.Effect>
<DropShadowEffect/>
</Button.Effect>
</Button>
我想定义的字符串的内容和工具提串的每一个按钮在XML文件,以便信息可以通过修改XML文件。
为此,我创造了一个模型的定义的一个目称为Bouton(法语):
public class Bouton : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
void Notify(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
int boutonNumber;
public int BoutonNumber{ get { return boutonNumber; } set { boutonNumber= value; Notify("BoutonNumber"); } }
string texteBouton;
public string TexteBouton { get { return texteBouton; } set { texteBouton = value; Notify("TexteBouton"); } }
string tooltip;
public string Tooltip { get { return tooltip; } set { tooltip = value; Notify("ToolTip"); } }
public Bouton(int nb, string tb, string tt)
{
BoutonNumber = nb;
TexteBouton = tb;
Tooltip = tt;
}
}
阅读时XML文件,我创建20个对象的Bouton类型有关的信息boutonNumber、内容和工具提示。 然后所有这些Bouton对象是存放到列表中收集。
现在我想要利用数据绑定之间我Bouton表和图控制我的MainWindow能够显示的串的内容和工具提串上的每一个按钮。 在MainWindow,我使用了下列代码:
public MainWindow()
{
InitializeComponent();
List<Bouton> lst = Utilities.CreateList();
this.DataContext = lst;
}
在lst是一个列表中收集正确的初始化。
但我不知道如何使数据绑定的工作在按钮上的控制。 我怎么能让20个按钮控制正确地链接到相应的Bouton目(包含在Boutons集)? 我的意思是如何可以Button1控制获得其串从我Bouton1对象,Button2控制获得其串从Bouton2对象,以此类推,直到Button20控制和Bouton20对象?
谢谢你的帮助。 请注意,我是个初学者与WPF这是我的第一个WPF项目Visual Studio.