[英]WPF - Trigger "LostFocus" on currently active element in Tab before Tab Change
[英]How to know when clicked on currently active tab item wpf?
假設有tab1
和tab2
作為兩個選項卡,當前活動的選項卡是tab1
。 僅當SelectedIndex發生更改時,才調用SelectedIndex
屬性集。 我希望即使在當前活動的選項卡上也可以執行。 MouseDown
事件不適用於選項卡項目。
還有其他解決方案嗎?
我建議您制作一個Tab HeaderTemplate來處理單擊 。 查看下面的示例代碼:
<Window.Resources>
<DataTemplate x:Key="myTabHeaderTemplate">
<!-- Handle click here -->
<Grid MouseDown="TabControl_MouseDown">
<TextBlock Text="{Binding}" Margin="5" />
</Grid>
</DataTemplate>
</Window.Resources>
<TabControl
Background="WhiteSmoke"
SelectedItem="{Binding CurrentTab}">
<TabItem Header="tab 1" Background="LightPink" HeaderTemplate="{StaticResource myTabHeaderTemplate}" />
<TabItem Header="tab 2" Background="LightGreen" HeaderTemplate="{StaticResource myTabHeaderTemplate}" />
</TabControl>
您必須在后面的代碼中實現此方法:
private void TabControl_MouseDown(object sender, MouseButtonEventArgs e){ ... }
或者您可以將其綁定到ViewModel中的命令...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.