根据列表视图项禁用/启用上下文菜单项

本文关键字:启用 上下文 菜单项 列表 视图 | 更新日期: 2023-09-27 17:55:45

我有一个UserControl,里面有一个ListView。此外,我还有一个类列表视图项.cs带有 DisplayMemberBinding to listView 中的GridView

每个列表视图项都有一个上下文菜单。现在我正在尝试启用/禁用上下文菜单项,具体取决于类 ListViewItems 中的值是否null

我尝试将 IsEnabled 属性绑定到类 ListViewItemsShowResItemEn的布尔值.cs但它不起作用。

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>

类列表视图项.cs

public Boolean ShowResItemEn
{
   get
   {
       return (auftrNr[0] == null) ? false : true; 
   }
}

根据列表视图项禁用/启用上下文菜单项

好的,

它现在可以工作了。我设置了错误的祖先类型

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}},Path=SelectedItem.ShowBesItemEn}"