我正在使用带MVVM的WPF构建销售点应用程序。
其中一个功能是屏幕上会有一个网格/面板,例如10 x 10个按钮,例如每个库存项目有1个按钮。
我需要做的是允许用户创建新布局或编辑现有布局,他们可以添加新按钮或删除按钮等。
因此,从理论上讲,用户可以选择多种不同的布局,以便在屏幕上显示。
每个按钮都链接到数据库中的库存产品,并且具有颜色,文本,图像等属性。
所以我在想如果我将用户控件设置为10 x 10个按钮或使用Uniform Grid,我可以绑定到一组按钮。我还考虑将每个布局的每个布局按钮存储为XML,然后读取它以创建某种类型的集合并绑定到网格。
例如,用户可以选择在10种不同的屏幕/网格布局中进行选择,每种布局都有自己的按钮组,可以位于不同的位置,或者具有不同的文本等。
我的问题是,这是将按钮和布局存储为XML的最佳方法吗? 我怎么能直接将网格/均匀网格绑定到一组按钮?
非常感谢
答案 0 :(得分:2)
整体方法对我来说很好。至于将按钮集合绑定到网格,您可以使用ItemsControl
和自定义ItemsPanel
模板:
<ItemsControl ItemsSource="{Binding Buttons}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="10" Columns="10" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button>
<!-- bind button color, content, etc -->
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>