我想在WPF项目的某些控件中添加一些上下文菜单。这本身很容易。我想知道是否可以在其中使用textbox或datepicker等控件,就像Access在表格中单击一个单元格时一样,您可以在其中按文本框值进行过滤。
感谢。
答案 0 :(得分:2)
您可以在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;
}