1
我想爲WPF項目中的某些控件添加一些上下文菜單。這本身就很容易。我想知道是否有可能在其中有文本框或日期選擇器等控件,很像Access在單擊表格中的單元格時可以通過文本框的值進行過濾。將控件添加到WPF中的上下文菜單
謝謝。
我想爲WPF項目中的某些控件添加一些上下文菜單。這本身就很容易。我想知道是否有可能在其中有文本框或日期選擇器等控件,很像Access在單擊表格中的單元格時可以通過文本框的值進行過濾。將控件添加到WPF中的上下文菜單
謝謝。
你可以把你喜歡的東西放在ContextMenu
以內,而不僅僅是MenuItems
。我從來沒有想過,但我想你可以用它作爲Popup
當有人右鍵單擊它。您還可以添加事件等
<StackPanel>
<StackPanel.Resources>
<ContextMenu x:Key="myContextMenu">
<StackPanel>
<TextBox Text="Some Text.."/>
<DatePicker/>
<Button Content="Click Me" Click="Button_Click"/>
</StackPanel>
</ContextMenu>
</StackPanel.Resources>
<TextBox Text="Display some controls on right click"
ContextMenu="{StaticResource myContextMenu}"/>
<TextBox Text="Display some controls on right click"
ContextMenu="{StaticResource myContextMenu}"/>
</StackPanel>
獲得點擊UIElement
在事件處理程序
private void Button_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
StackPanel stackPanel = button.Parent as StackPanel;
ContextMenu contextMenu = stackPanel.Parent as ContextMenu;
UIElement elementWithMenu = contextMenu.PlacementTarget;
}
我想我可以定義像任何其他控件的事件。如果我想在許多控件上使用完全相同的菜單,我可以使用樣式,並且我會使用eventArgs獲取源代碼? –
是的,你可以在很多控件上共享這個'ContextMenu',你也可以添加事件並找到它被點擊的控件 –