首先上一個例子:
<Grid Name="grid" Margin="5">
<ListBox>
<ListBoxItem Content="asdasd"/>
<ListBoxItem Content="asdasd"/>
<ListBoxItem Content="asdasd"/>
<ListBoxItem Content="asdasd"/>
<ListBoxItem Content="asdasd"/>
<ListBoxItem Content="asdasd"/>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
<MenuItem Header="123123"/>
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
</Grid>
這段代碼運行後,在對應控件上快速並多次右鍵顯示菜單,如果機器的性能不夠好,會出現閃爍的情況。
解決方案:
在App.xaml加上一句話:
<PopupAnimation x:Key="{x:Static SystemParameters.MenuPopupAnimationKey}">None</PopupAnimation>