以編程方式打開彈出菜單後,如果用戶使用向上和向下箭頭鍵在菜單中移動,菜單項會突出顯示,並且它們永遠不會被忽略。我能做些什麼,以便在用戶按下向下箭頭後,之前突出顯示的菜單項變得不明顯?使用箭頭鍵時,WPF彈出菜單項保持高亮狀態
這是與一個非常簡單的彈出菜單:
<Grid>
<Button x:Name="Button1" Content="Open Menu"
Click="OnPopupMenuButton_Click"
Height="23" HorizontalAlignment="Left" Margin="69,12,0,0" VerticalAlignment="Top" Width="75" />
<Popup x:Name="MyPopupMenu" StaysOpen="False" >
<StackPanel Orientation="Vertical" Background="White" Margin="0">
<MenuItem x:Name="xAimee" Header="Aimee" Margin="0,2,0,0" />
<MenuItem x:Name="xBarbara" Header="Barbara" />
<MenuItem x:Name="xCarol" Header="Carol" />
<Separator x:Name="xSeparator1" Margin="0,2,2,2"/>
<MenuItem x:Name="xDana" Header="Dana" />
<MenuItem x:Name="xElizabeth" Header="Elizabeth" />
</StackPanel>
</Popup>
</Grid>
這裏是彈出如何被打開:
private void OnPopupMenuButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
Button button = sender as Button;
MyPopupMenu.PlacementTarget = button;
MyPopupMenu.Placement = PlacementMode.Mouse;
MyPopupMenu.IsOpen = true;
MyPopupMenu.StaysOpen = false;
}
你確實需要那種彈出菜單的聲明方式嗎?如果不是,那麼只需使用'ContextMenu'。 – 2011-03-06 01:53:01
我嘗試使用ContextMenu,但它沒有奏效。我想我無法弄清楚如何通過左鍵單擊來打開它。另外,我真的需要使用彈出式菜單獲得的放置靈活性。我將不得不再次嘗試ContextMenu並查看它是什麼。 – 2011-03-06 16:26:19