Я полностью согласен с ними, но также понимаю, что к WPF и MVVM не так "легко" привыкнуть, я делаю это в течение года более или менее, и мне еще многому нужно научиться.В такой ситуации я мог бы только посоветовать вам прочитать некоторые учебники о WPF, DataBinding и ObservableCollection и ViewModel (это ключевые слова, которые вам нужно знать).1) Создайте ViewModel, где вы можете определить ObservableCollection, ObservableCollection является своего рода списком, но с его помощью вы можете обновлять свой View (почти) автоматически. Поэтому при запуске приложения вы будете читать список кнопок, которые нужно отобразить,затем добавьте их в ObservableCollection
, чтобы ваши тесты выглядели примерно так:
Button button1=new Button();
Button button2=new Button();
//define all dimensions/parameters of your button
MyObservableCollection.Add(button1);
MyObservableCollection.Add(button2);
Тогда в XAML вам просто нужно указать ItemsSource of ItemsControls (MyObservableCollection).для этого вам больше не нужно все описание кнопок внутри.
Затем, когда вы нажимаете кнопку, чтобы добавить кнопку (в вашем случае), вам просто нужно добавить в код что-то вроде
Button newButton=new Button();
newButton.Height=defaultHeight...//width, background etc...
MyObservableCollection.Add(newButton);
еще раз, просто для совета, если WPF / MVVM является новым для вас, я бы посоветовал начать с более простых примеров, сделать небольшой просмотр списка с простыми объектами внутри или со списком.
Могу также посоветовать вамэти сайты: wpf-tutorial.com www.wpftutorial.net