Хорошо, для всех, кто заинтересован, у меня все работает так, как я себе представлял.Это требует некоторой очистки, но концепция есть.
public MainWindow()
{
InitializeComponent();
StackPanelOfButtons stackPanelOfButtons = new StackPanelOfButtons(
new List<myButton>{
new myButton(50, 100, "It Worked!"),
new myButton(100, 150, "We have more buttons"),
new myButton(150, 200, "And a third button")});
this.Content = stackPanelOfButtons.stackPanel;
}
И затем для кнопок
public class myButton : UIElement
{
public Button btn = new Button();
public myButton(int width, int height, string content)
{
btn.Width = width;
btn.Height = height;
btn.Content = content;
}
}
Одной из проблем здесь было не внедрение UIElement.А теперь для StackPanel,
public class StackPanelOfButtons : UIElement
{
public StackPanel stackPanel = new StackPanel();
public StackPanelOfButtons(List<myButton> buttons)
{
buttons.ForEach(b => stackPanel.Children.Add(b.btn));
}
}
Это был хороший маленький эксперимент, так как я очень плохо знаком с c # и не имею большого опыта программирования с самого начала.