我即将开发我的第一个WPF。
我想获得一个按钮列表。按钮由WPF顶部的ONE" Add" - 按钮生成。
所以当我按下#34;添加"列表中出现了一个新按钮。
首先我如何创建列表?使用ListBox或StackPanel?我认为看起来StackPanel会很好但我不确定如何在那里添加按钮......
另一个问题:通常,当我生成一个对象(我来自Java)时,每个对象都会获得一个唯一的实例。但是我如何给每个按钮一个独特的名字?
我希望你能帮助我
答案 0 :(得分:12)
停止。马上。
在您执行任何事情之前,请先学习基本的MVVM。 WPF 不 WinForms(或其Java等价物)。在您知道何时应该这样做之前,您不应该以编程方式更改UI。
这些按钮应代表数据。那些数据应该在你的视图模型中。那么你会有ItemsControl
这样的:
<ItemsControl ItemsSource="{Binding MyCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button ... />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
现在,您可以根据绑定对象获取所需的所有唯一信息(无需唯一名称)。您甚至可以ItemsControl
使用StackPanel
作为底层面板(顺便提一下,默认情况下会这样做)。
答案 1 :(得分:1)
由于您需要动态行为并且这是您的第一个WPF应用程序,因此您应该在后面的代码上写这个。
只需为StackPanel
命名(向其添加name属性),然后在按钮中处理click事件(只需双击WPF可视化编辑器中的按钮)。
在click事件的处理程序中,您可以执行以下操作:
this.MyStackPanel.Children.Add(new Button());
当然,要向该按钮添加行为,您可以将其分配给变量并添加适当的事件处理程序。