动态面板按钮WPF c#常用
本文关键字:常用 WPF 按钮 动态 | 更新日期: 2023-09-27 18:15:12
我试图找到一个最好的或常见的做法,从数据库列表创建按钮表。
对于我的使用,我正在创建更多的销售点类型的屏幕。我想要的类别加载为按钮在进入屏幕上。这些按钮有一个简单的任务,就是显示一个屏幕,上面是动态创建的实际项目的按钮。这些按钮会将项目添加到,我们称之为票。
我找到的解决方案很少。我也在努力编写这个代码,这样其他人就可以相当快地掌握它。我非常生疏,只是偶尔编写代码。所以我尽量遵循一般的做法。我有一些想法,但代码变得难以阅读,主要是因为我。
我看到了下面的链接,但不确定ListBox是否是一个很好的容器。从DB动态填充WrapPanel按钮,设置事件处理程序
我确信包装纸是我必须使用的,但是我是把它放在容器里还是直接使用它?我是把它放在Xaml中,还是将其全部编码,以解决按钮间距等问题?我想我想得太多了,需要跳过一会儿。
谢谢你,
听起来你想要一个ItemsControl
,绑定到你的类别,用WrapPanel
作为ItemsPanel
。Button
将进入ItemTemplate
。
<ItemsControl ItemsSource="{Binding CategoriesFromDatabase}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding}"
Command="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl},Path=DataContext.AddToTicketCommand}"
CommandParameter="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这里我假设您的视图模型具有属性"categoresfromdatabase"(您从数据库中填充的IEnumerable),以及ICommand
"AddtoTicketCommand",它将类别作为参数。