2014-02-19 51 views
0

時,我有一個菜單項下面的XAML代碼:菜單項被點擊後不關閉包含ContentPresenter

<MenuItem x:Name="CustomMenuItem" 
     Command="{Binding Path=Command, Mode=OneWay}"> 
    <MenuItem.Header> 
     <ContentPresenter x:Name="MenuContentControl" 
          Content="{Binding Path=Content, Mode=OneWay}"/> 
    </MenuItem.Header> 
</MenuItem> 

菜單正確渲染,我可以看到的命令開火,但菜單不事後關閉,爲什麼是這個,我該如何讓它關閉?

+1

在這種情況下,請嘗試創建一個小而完整的代碼(並將其粘貼到此處),以便重現問題,否則無法提供幫助。 –

+0

我創建了一個測試項目,我有一切工作。 –

+0

菜單可能沒有獲得點擊。我在ListBoxItem中有一些ContentPresenter內容,並且ListBox沒有收到點擊。 ListBox確實獲得了直接控制的點擊。 – Paparazzi

回答

2

默認情況下ContextMenu在menuItem的任何點擊時關閉。

但是,因爲您沒有在這裏發佈更多的XAML代碼。我懷疑是在頂層還是在MenuItem中,您必須將StaysOpenOnClick設置爲true

<MenuItem Header="submenuitem1" 
      StaysOpenOnClick="true" 
      IsCheckable="true"/> 

刪除該值,如果設置或設置爲false,這是所有菜單項的默認值。

+1

+1:你一如既往的:)。我認爲這將有助於OP。 –