【问题标题】:Storing and displaying a grid of buttons / multiple layouts存储和显示按钮网格/多个布局
【发布时间】:2012-08-17 21:24:01
【问题描述】:

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

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

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

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

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

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

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

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

非常感谢

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    对我来说,整体方法看起来不错。至于将按钮集合绑定到网格,您可以使用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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多