Я разрабатываю приложение с 256 кнопками внутри, и я добавляю их в WrapPanel в коде C#, используя для цикла. Эти кнопки не упоминаются в коде 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