0

我正在尝试使用上下文菜单,一旦按下鼠标右键,就会出现以下错误:

System.Windows.Style' 不是属性 'ContextMenu' 的有效值。

XAML 代码:

<UserControl ...>
    <UserControl.Resources>
        <ContextMenu x:Key="SharedInstanceContextMenu">
            <MenuItem Header="Edit" Command="{Binding Path=EditSelectedItemCommand}"/>
        </ContextMenu>

        <Style x:Key="MyItemContainerStyle" TargetType="{x:Type ListViewItem}">
            <Setter Property="ContextMenu" Value="{StaticResource SharedInstanceContextMenu}" />
        </Style>
    </UserControl.Resources>

    ...

    <ListView ...
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="ListBoxItem.IsSelected" Value="{Binding Path=IsSelected}" />
                <Setter Property="ContextMenu" Value="{StaticResource MyItemContainerStyle}"/>

(我用点来删除不相关的代码)。

有人知道如何防止错误(并查看上下文菜单)吗?

提前致谢。

4

1 回答 1

2
<Setter Property="ContextMenu" Value="{StaticResource MyItemContainerStyle}"/>

MyItemContainerStyle是 a Style,而不是 a ContextMenu... 你应该改为这样写:

<Setter Property="ContextMenu" Value="{StaticResource SharedInstanceContextMenu}"/>
于 2012-04-18T23:05:11.733 回答