0
我正在设计一个内部有256个按钮的应用程序,并且我正在使用for循环将它们添加到C#代码中的WrapPanel中。这些按钮在XAML代码中未提及。 我的问题是,当点击其中一个,我必须改变它的颜色使用绑定。 我尝试下面的代码,但它不工作(只是改变了按钮的内容):无XAML绑定[WPF]
private void NewButton_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
for (int i = 0; i < counter; i++)
{
if (btn.Name == ("Butt" + i))
{
btn.Content = "works";
MyData mydata = new MyData();
Binding binding = new Binding("Color");
binding.Source = mydata;
binding.Source = btn;
break;
}
}
}
和
private int counter = 0;
public class MyData
{
public static Brush _Color = Brushes.Red;
public Brush Color
{
get
{
return _Color;
}
}
}
public MainWindow()
{
InitializeComponent();
int num = number(3);
List<Button> btnList = new List<Button>();
for(int i =0; i<(num*num); i++)
{
Button button = new Button();
button.Name = "Butt" + counter;
button.Content = "New";
counter++;
button.Height = 35;
button.Width = 35;
button.Click += new RoutedEventHandler(NewButton_Click);
wp.Children.Add(button);
}
谢谢,它的工作原理! – hegendroffer