2012-04-18 153 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