Disable/Enable 上下文菜单项取决于列表视图项

Disable/Enable context menu item depending on listview item

我有一个 UserControl,里面有一个 ListView。 此外,我有一个 class listViewItems.cslistView.

中的 GridView 的 DisplayMemberBinding

每个 ListView-Item 都有一个上下文菜单。 现在,我正在尝试 enable/disable 上下文菜单项,具体取决于 class ListViewItems 中的值是否为 null

我试过将 IsEnabled 属性 绑定到 class ListViewItems.cs[= 中的布尔值 ShowResItemEn 32=] 但它不起作用。

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>

class 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}"