2012-04-18 144 views
0

我试图用一个快捷菜单,我只要我按下鼠标右键,出现以下错误:错误:System.Windows.Style”是不是属性的有效值‘文本菜单’

系统.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}"/> 

(I使用点以除去无关的代码)。

有谁知道如何防止错误(并看到上下文菜单)?

在此先感谢。

回答

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

MyItemContainerStyleStyle,而不是一个ContextMenu ......你应该写这个:

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

它似乎工作...但它不火的命令(我可以删除双setter btw)。或者这是另一个问题,我应该单独询问? – 2012-04-18 23:11:27

+1

@MichelKeijzers,是的,问一个单独的问题,它会比在评论中更容易回答... – 2012-04-18 23:24:27

+0

好的,谢谢我会这样做。 – 2012-04-18 23:31:18

相关问题