我有一个带有UserControl
的ListView
。
另外,我还有一个类listViewItems.cs,其中DisplayMemberBinding绑定到GridView
中的listView
。
每个ListView-Item都有一个上下文菜单。
现在,我尝试启用/禁用上下文菜单项,具体取决于类ListViewItems中的值是否为null
我已经尝试将IsEnabled
属性绑定到类ListViewItems.cs中的布尔值ShowResItemEn
,但是它不起作用。
DataOutput.xaml
<ListView.Resources>
<ContextMenu x:Name="cmListView" x:Key="ItemContextMenu" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<MenuItem x:Name="itmRes"
Header="Reservierungen anzeigen"
IsEnabled="{Binding PlacementTarget.SelectedItem.ShowResItemEn, RelativeSource={RelativeSource FindAncestor,AncestorType=ContextMenu}}"
Command="{Binding ShowResItemCmd}"
CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.SelectedItem}" >
</MenuItem>
</ContextMenu>
</ListView.Resources>
ListViewItems.cs类
public Boolean ShowResItemEn
{
get
{
return (auftrNr[0] == null) ? false : true;
}
}
最佳答案
好的,现在可以使用。我将AncestorType设置为错误
IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}},Path=SelectedItem.ShowBesItemEn}"