1

我正在使用带有 MVVM 的 WPF 构建一个销售点应用程序。

其中一个功能是屏幕上会有一个网格/面板,例如 10 x 10 个按钮,例如每个库存项目 1 个按钮。

我需要做的是允许用户创建新布局或编辑现有布局,他们可以在其中添加新按钮或删除按钮等。

所以理论上用户可以有许多不同的布局,他们可以从中选择在屏幕上显示。

每个按钮都将链接到数据库中的库存产品,并具有颜色、文本、图像等属性。

所以我在想,如果我将用户控件设置为 10 x 10 按钮或使用统一网格,我可以绑定到按钮集合。我还考虑将每个布局的每个布局按钮存储为 XML,并阅读它以创建某种集合并将其绑定到网格。

例如,用户可以在 10 种不同的屏幕/网格布局之间进行选择,每个布局都有自己的一组按钮,这些按钮可能位于不同的位置,或者具有不同的文本等。

我的问题是,这是将按钮和布局存储为 XML 的最佳方法吗?我怎么能直接将网格/统一网格绑定到按钮集合?

非常感谢

4

1 回答 1

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>
于 2012-08-17T13:04:08.800 回答