我使用自己的ItemTemplate定义
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
...
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
堆栈面板有几个控件。目的是在用户右键单击堆栈面板的任何控件时弹出相同的ContextMenu,并在鼠标悬停在控件上时显示相同的工具提示。
是否有可能在一个地方进行工具提示/上下文菜单分配,而不是为每个控件单独执行此操作?
答案 0 :(得分:2)
是否有可能在一个地方进行工具提示/上下文菜单分配,而不是为每个控件单独执行此操作?
设置StackPanel的ContextMenu / Tooltip属性,其值将由子控件继承,即当您右键单击或悬停在任何StackPanel的子项上时,您将看到相同的ContextMenu / Tooltip控制:
<ListView x:Name="lv">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="..." />
</ContextMenu>
</StackPanel.ContextMenu>
<StackPanel.ToolTip>
<ToolTip>
<TextBlock>Tooltip...</TextBlock>
</ToolTip>
</StackPanel.ToolTip>
<Button Content="Button"/>
<TextBlock Text="..." />
<ComboBox>
<ComboBoxItem>1</ComboBoxItem>
<ComboBoxItem>2</ComboBoxItem>
<ComboBoxItem>3</ComboBoxItem>
</ComboBox>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>