2011-07-21 122 views
0

啓用的ContextMenu我有Topmost="True"的窗口。在最頂層窗口

<Window ... bunch of code .... 
    Topmost="True" > 

現在這樣做可以有效地禁用窗體上的所有上下文菜單。菜單是在XAML定義是這樣的:

<StackPanel Width="120" Height="50" MouseMove="Drag_MouseMove"> 
    <Image Source="{Binding" /> 
    <TextBlock Text={Binding}" /> 
    <StackPanel.ContextMenu> 
     <ContextMenu Name="myMenu" StaysOpen="True"> 
      ... bunch of code ... 
     </ContextMenu> 
    </StackPanel.ContextMenu> 
</StackPanel> 

有沒有辦法重新啓用上下文菜單?我也願意考慮替代Topmost="True"

+0

這是否回答你的問題? http://social.msdn.microsoft.com/Forums/en/vswpfdesigner/thread/7f33954b-4fd9-4047-a111-2183e8fa6b6b –

+0

什麼是你想通過隱藏所有的菜單來實現呢? – sll

+0

@sil:我不想隱藏菜單。他們一個人躲起來。 – code4life

回答

0

我無法重現你的問題。我已經創建了一個使用此代碼的新項目,並且上下文菜單顯示。

也許問題來自於別的東西嗎?像綁定? (從經驗談)

<Window x:Class="WpfApplication8.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" Topmost="True"> 
    <Grid> 
     <StackPanel Width="120" Height="50" Background="Gray"> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <TextBlock Text="yo" /> 
      <StackPanel.ContextMenu> 
       <ContextMenu Name="myMenu" StaysOpen="True"> 
        <MenuItem Header="hello" /> 
       </ContextMenu> 
      </StackPanel.ContextMenu> 
     </StackPanel> 
    </Grid> 
</Window> 
相關問題