2010-04-27 79 views
0

我想在用户右键单击控件时在用户控件的光标位置出现一个WPF ViewBox'出现'。现在,我的代码:WPF:显示面板右键点击

<!-- 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中编写此代码?

回答

2

查看上下文菜单。

<ContextMenu Name="cm" StaysOpen="true"> 

        <MenuItem Header="Item ▼"/> 

        <MenuItem Header="Permute ▼"/> 

        <MenuItem Header="Generate ▼"/> 

</ContextMenu> 

你甚至可以将命令与菜单项绑定在一起并创建子菜单。

富勒更多信息:

http://www.a2zdotnet.com/View.aspx?id=92

+0

感谢。我正在寻找一个稍微不同的用户界面,但这似乎是最简单的方法! – 2010-04-28 20:21:27

+0

不客气:) – Archie 2010-04-29 03:21:28