当用户右键单击控件时,我正在尝试在用户控件中的光标位置“出现”WPF ViewBox。现在,我有代码:
<!-- XAML -->
<Viewbox Width="100" Visibility="Collapsed" x:Name="actionBox">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<Button>Item ▼</Button>
<Button>Permute ▼</Button>
<Button>Generate ▼</Button>
</StackPanel>
</Viewbox>
和
/* C# */
private void setPanel_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Point p = e.GetPosition(this);
actionBox.Margin = new Thickness(p.X, p.Y, 0, 0);
actionBox.Visibility = System.Windows.Visibility.Visible;
actionBox.BringIntoView();
}
事件确实被解雇了,但似乎没有任何事情发生。 (MouseRightButtonDown="..."
位于XAML文件的不同部分。)
如何在WPF中写这个?
答案 0 :(得分:2)
查看上下文菜单。
<ContextMenu Name="cm" StaysOpen="true">
<MenuItem Header="Item ▼"/>
<MenuItem Header="Permute ▼"/>
<MenuItem Header="Generate ▼"/>
</ContextMenu>
您甚至可以将命令与菜单项绑定,也可以创建子菜单。
更多信息: