【发布时间】:2019-03-16 00:30:28
【问题描述】:
大家晚上好,
我正在尝试根据来自所述 ListView 的列值更改 WPF ListView ContextMenu 标题。具体来说,当列绑定到 STATUS = "Y"(hold) 或 "N"(not on hold) 的值时,我想将其从 Enable 更改为 Disable(反之亦然)。我尝试了以下方法:
<ContextMenu.Resources>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding STATUS}" Value="Y">
<Setter Property="Header" Value="Enable" />
</DataTrigger>
<DataTrigger Binding="{Binding STATUS}" Value="N">
<Setter Property="Header" Value="Disable" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContextMenu.Resources>
第二次尝试:
<ListView.ContextMenu>
<ContextMenu x:Name="cmlv">
<MenuItem x:Name="cmdisableenable">
<MenuItem.Resources>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding STATUS}" Value="Y">
<Setter Property="Header" Value="Enable" />
</DataTrigger>
<DataTrigger Binding="{Binding STATUS}" Value="N">
<Setter Property="Header" Value="Disable" />
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Resources>
</MenuItem>
</ContextMenu>
</ListView.ContextMenu>
【问题讨论】: