gpt4 book ai didi

c# - WPF - 创建颜色网格

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:14 24 4
gpt4 key购买 nike

我在 WPF 中有一个 ViewModel,看起来像这样:

public class SwatchViewModel
{
public ObservableCollection<Color> Colors { get; private set; }
}

我想显示集合中的每种颜色,将它们按列排列。每个列在控件中应占用相同的空间量,所有列组合应填充控件的宽度。控件的大小可以任意调整。

因此,如果 Colors 包含 { Colors.Red, Colors.Green, Colors.Blue } 那么我需要三列,每列占据宽度的三分之一控件,每列颜色适当。

这样做的最佳方法是什么?它似乎适合 ItemsControl,除了 ItemsControl 不会拉伸(stretch)其项目以填充可用宽度的事实......这是 Grid< 的工作...但是无法绑定(bind)网格的列...

XAML 是首选,但我很乐意在必要时回退到 C#。

最佳答案

您可以使用 UniformGrid。一个统一的网格完全符合您的需要,它根据它包含的 child 的数量添加单元格。

例子:

<ItemsControl ItemsSource="..." ItemTemplate="...">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>

Rows 设置为 1 会将行数限制为 1(duh...)。

关于c# - WPF - 创建颜色网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1980025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com