【发布时间】:2025-12-15 22:20:14
【问题描述】:
我需要在特定位置显示ContextMenu,它第一次就可以正常工作。如果我移动鼠标光标并尝试显示相同的ContextMenu,那么它可能会显示在不同的位置,即使HorizontalOffset 和VerticalOffset 是硬编码的。
如何在特定位置打开ContextMenu而不每次都重新初始化?
System.Windows.Controls.Input.Toolkit 版本:5.0.5.0
XAML
<Grid x:Name="LayoutRoot" Background="White"
MouseRightButtonUp="LayoutRoot_MouseRightButtonUp"
MouseRightButtonDown="LayoutRoot_MouseRightButtonDown"/>
代码
private ContextMenu menu;
private void LayoutRoot_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
if (menu == null)
{
menu = new ContextMenu();
menu.Items.Add("test");
}
menu.HorizontalOffset = 100;
menu.VerticalOffset = 100;
menu.IsOpen = true;
}
private void LayoutRoot_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
【问题讨论】:
标签: silverlight contextmenu silverlight-toolkit