错误:System.Windows.Style'不是属性'ContextMenu'的有效值

时间:2012-04-18 22:59:26

标签: c# wpf xaml listview contextmenu

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

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

MyItemContainerStyleStyle,而不是ContextMenu ......您应该写一下:

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