Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储和显示按钮/多个布局的网格_C#_Wpf - Fatal编程技术网

C# 存储和显示按钮/多个布局的网格

C# 存储和显示按钮/多个布局的网格,c#,wpf,C#,Wpf,我正在使用WPF和MVVM构建一个销售点应用程序 其中一个特点是,屏幕上会有一个网格/面板,例如10 x 10个按钮,例如每个库存项目1个按钮 我需要做的是允许用户创建一个新的布局或编辑一个现有的布局,他们可以添加一个新按钮或删除一个按钮等 因此,理论上,用户可以有许多不同的布局,他们可以从中选择显示在屏幕上 每个按钮将链接到数据库中的库存产品,并具有颜色、文本、图像等属性 所以我在想,如果我将用户控件设置为10 x 10个按钮,或者使用统一的网格,我可以绑定到一组按钮。我还考虑将每个布局的每个

我正在使用WPF和MVVM构建一个销售点应用程序

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

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

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

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

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

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

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


非常感谢

总体方法在我看来很好。对于将按钮集合绑定到网格,您可以将
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>