【发布时间】:2016-11-28 17:57:39
【问题描述】:
我有一个 TabItem,之前在对象中设置了 Header,
<TabItem x:Name="Checked_Out_Items" Header="Clients In Use" Height="40" LostFocus="Checked_Out_Items_LostFocus" GotFocus="Checked_Out_Items_GotFocus" BorderThickness="0" >
但是,我遇到了此选项卡没有 Click 事件的问题。我找到了一个解决方案,我们可以在其中插入一个标签作为此处指定的标题, how to handle TabItem single click event in WPF?
但是,标签看起来不像我需要的。这是对象内部定义的选项卡标题。
这是标签的样子
<TabItem x:Name="Checked_Out_Items" Height="40" LostFocus="Checked_Out_Items_LostFocus" GotFocus="Checked_Out_Items_GotFocus" BorderThickness="0" >
<TabItem.Header>
<Label Content="Clients In Use" Height="40" MouseLeftButtonDown="Checked_Out_Items_Clicked" Width="171" />
</TabItem.Header>
【问题讨论】:
-
当您将标签放在应用程序的其他位置时,它会如何寻找您?也许它只是在应用资源某处定义的默认样式。
-
@grek40 它们看起来一样,所以它必须是默认样式。
-
点击主题的另一个旁注:只需在
TabItem上收听PreviewMouseLeftButtonDown,因为与MouseLeftButtonDown事件不同,它实际上会被触发;) -
使用
ContentControl代替标签,或者将Label的样式设置为没有BasedOn属性的空样式。 -
@TalenKylon 抱歉,有一点误解。没有
Label的文本是特殊样式的,该样式不会转移到标签上。