我想在数据网格上将我的 Itemssource 的不同成员显示为 Tiles,我可以在其中编辑它们,Tiles 上的编辑选项应该基于数据类型,例如如果它是一个枚举,那么一个组合框应该可用并突出显示当前项目,如果它是应该比正常编辑字符串。
我的带有枚举值的 Tile 应该看起来像这样,其中 None 是 Enum(Single,None,All) 中的当前值。任何人都可以提供一些示例代码来为此设置 datagrid 单元格模板的样式。我正在使用 MVVM
我想在数据网格上将我的 Itemssource 的不同成员显示为 Tiles,我可以在其中编辑它们,Tiles 上的编辑选项应该基于数据类型,例如如果它是一个枚举,那么一个组合框应该可用并突出显示当前项目,如果它是应该比正常编辑字符串。
我的带有枚举值的 Tile 应该看起来像这样,其中 None 是 Enum(Single,None,All) 中的当前值。任何人都可以提供一些示例代码来为此设置 datagrid 单元格模板的样式。我正在使用 MVVM
您可以使用 DataGridTemplateColumn 并将 CellEditingTemplateSelector 设置为自定义 DataTemplateSelector ,它将根据单元格值数据类型提供特定的编辑模板。 刚刚找到一个符合您要求的。
您可以使用组合框执行此操作:
<ComboBox x:Name="FirstVariable"
SelectedItem="{Binding ElementName=RootControl, Path=Request.Analysis.Variables[0]}"
ItemsSource="{Binding VariableTypeValues, ElementName=RootControl}"
/>
和
public IEnumerable<VariableType> VariableTypeValues
{
get
{
return Enum.GetValues(typeof(VariableType)).Cast<VariableType>();
}
}
获取枚举值。Request.Analysis.Variables[0] 是变量类型。