[英]ListView: Change ContextMenu Header According To Column Value (Style Trigger?)
Good Evening Everyone, 各位晚上好,
I am trying to change a WPF ListView ContextMenu header depending on a column value from said ListView. 我试图根据所述ListView的列值更改WPF ListView ContextMenu标头。 Specifically I want to change it from Enable to Disable (and vice-versa) when a column binded to the value of STATUS = "Y"(hold) or "N"(not on hold).
具体来说,当列绑定到STATUS =“Y”(保持)或“N”(非保持)的值时,我想将其从启用更改为禁用(反之亦然)。 I have tried the following:
我尝试过以下方法:
<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>
2ND Attempt: 2ND尝试:
<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>
<MenuItem>
<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>
You have apply style on MenuItem so depends on status the header will be Disable or Enable and make sure u dont assign any value to header 你已经在MenuItem上应用了样式,所以取决于标题将是禁用或启用的状态,并确保你没有为标题分配任何值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.