WPF 按钮网格

本文关键字:网格 按钮 WPF | 更新日期: 2023-09-27 18:35:31

我想做一个按钮平板电脑,它由1个.. 10个按钮组成。

现在我有一个网格,它有行和列,假设 2 列,5 行,但这不是很动态。

我有一些 xml 源,它指定了哪些按钮以及有多少按钮该网格,它们的外观,行和列位置。

如何在位置动态插入按钮?

在TabletViewModel中,我有一组ButtonViewModels。它是TabletView(网格)的数据上下文

按钮

视图模型保存按钮的文本、图像文件名、行和列并且是一个按钮的数据上下文。

我想到了类似itemsource Binding的东西,但我无法弄清楚如何执行此操作 使用网格和按钮绑定。(动态网格视图?

我该怎么做?任何想法表示赞赏!

WPF 按钮网格

或者可以考虑将 ItemsControl 与 WrapPanel 一起使用

<ItemsControl>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

试试这个

(assuming x:Name="myGrid" in markup)
// add rows to grid (it's the same deal for columns too)
 for (int row=0;row < numRows; row++)
 {
 myGrid=RowDefinitions.Add(new RowDefinition());
 }
(I'd be interested to see if there is a slicker way of doing this bit. )

// Stick a control in intended location
b = new Button();
myGrid.Children.Add(b);
 Grid.SetRow(b,1); // 2nd row
 Grid.SetColumn(b,3); // 4th column
 Grid.SetColumnSpan(b,2);