gpt4 book ai didi

c# - 来自数据绑定(bind)的 WPF MVVM 表布局

转载 作者:行者123 更新时间:2023-12-03 11:02:48 25 4
gpt4 key购买 nike

假设我有以下模型:

public class PageModel  //INotifyPropertyChanged...
{
public int RowCount { get; set; }
public int ColumnCount { get; set; }
public ObservableCollection<BaseItemModel> PageItems { get; set; }
}

public abstract class BaseItemModel //INotifyPropertyChanged...
{
public string Name { get; set; }
public int Row { get; set; }
public int Column { get; set; }
}

public class ConcreteItem1 : BaseItemModel
{
public bool Value { get; set; }
}

public class ConcreteItem2 : BaseItemModel
{
public float Value { get; set; }
}

我想在 WPF 中做的(不用在代码隐藏中做太多)是为 ConcreteItem1 设置控件。和 ConcreteItem2以表格/网格格式。问题是我不知道如何从数据绑定(bind)的角度来解决这个问题。

在我看来 UniformGrid 将是选择的控件,但以某种方式将其嵌入为项目控件的布局?

我的目标是这样的:

enter image description here

其中行/列是固定的,控件缩放以填充可用空间。

那么,如何以具有固定行/列的表格/网格格式布置绑定(bind)到模型的控件数据?

最佳答案

设置ItemsPanel属性到 ItemsPanelTemplateUniformGrid指定列数:

<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>

行数取决于 ItemsSource 中的项目数。 .

关于c# - 来自数据绑定(bind)的 WPF MVVM 表布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48546739/

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