我有一个枚举
public enum ConfigFileTypes
{
NONE,
CONFIG_FILE
}
我想使用xamdatagrid,每次枚举值为 Config_file 我想显示浏览按钮,对于非我想要什么都不显示,以后将添加更多按钮或选项。
我试图使用xam数据网格我能够创建按钮。将枚举的类型显示为按钮内容。
<igDP:Field Name="ConfigFileType" Label="Config File">
<igDP:Field.Settings>
<igDP:FieldSettings >
<igDP:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igDP:CellValuePresenter}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Button Content="{Binding DataItem.ConfigFileType}"></Button>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.CellValuePresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
现在我正在尝试使用数据触发器来控制按钮的可见性(这是正确的方法吗?)
<igDP:Field Name="ConfigFileType" Label="Config File">
<igDP:Field.Settings>
<igDP:FieldSettings >
<igDP:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igDP:CellValuePresenter}">
<DataTrigger Binding="{Binding Path=ConfigFileType}" Value="CONFIG_FILE">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Button Content="{Binding DataItem.ConfigFileType}"></Button>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style>
</igDP:FieldSettings.CellValuePresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
我似乎无法使数据触发器正常工作
答案 0 :(得分:4)
试试这个
<DataTrigger Binding="{Binding Path=DataItem.ConfigFileType}" Value="CONFIG_FILE">
在绑定而不是ConfigFileType时,它应该是DataItem.ConfigFileType。我希望这会有所帮助。
答案 1 :(得分:1)
<igDP:Field Name="ConfigFileType" Label="Config File">
<igDP:Field.Settings>
<igDP:FieldSettings >
<igDP:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igDP:CellValuePresenter}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Button Content="{Binding DataItem.ConfigFileType}"></Button>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding DataItem.ConfigFileType}" Value="NONE">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding DataItem.ConfigFileType}" Value="CONFIG_FILE">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.CellValuePresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
感谢ethicallogics回答我找到了正确的方法。