WPF MVVM表格布局来自数据绑定
让我们假设我有以下模型:
public class PageModel //INotifyPropertyChanged... { public int RowCount { get; set; } public int ColumnCount { get; set; } public ObservableCollection 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
的控件。 问题是我不知道如何从数据绑定的角度来处理这个问题。
在我看来, UniformGrid
将是选择的控制,但不知何故嵌入作为项目控件的布局?
我的目标是这样的:
行/列固定的位置,控件缩放以填充可用空间。
那么,如何以固定行/列的表/网格格式布局绑定到模型的控件数据?
将UniformGrid
属性设置为UniformGrid
,其中包含指定列数的UniformGrid
:
行数取决于ItemsSource
的项目数。