0

我想在数据网格上将我的 Itemssource 的不同成员显示为 Tiles,我可以在其中编辑它们,Tiles 上的编辑选项应该基于数据类型,例如如果它是一个枚举,那么一个组合框应该可用并突出显示当前项目,如果它是应该比正常编辑字符串。

我的带有枚举值的 Tile 应该看起来像这样,其中 None 是 Enum(Single,None,All) 中的当前值。任何人都可以提供一些示例代码来为此设置 datagrid 单元格模板的样式。我正在使用 MVVM

我的带有枚举值的项目应该是这样的

4

2 回答 2

0

您可以使用 DataGridTemplateColumn 并将 CellEditingTemplateSelector 设置为自定义 DataTemplateSelector ,它将根据单元格值数据类型提供特定的编辑模板。 刚刚找到一个符合您要求的。

于 2013-08-23T12:54:07.360 回答
0

您可以使用组合框执行此操作:

 <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] 是变量类型。

于 2013-08-23T07:17:30.500 回答