[英]Changing TabControl SelectedIndex when adding a new TabItem
我做了一個按鈕來在我的 TabControl 中添加一個新的 TabItem。 它工作正常,但是當我添加一個新的 TabItem 時,我希望 SelectedIndex 位於新的 TabItem 上。 的代碼
private void AddNewTabItem(object sender, MouseButtonEventArgs e)
{
...
tabControl.Items.Add(tabItem);
tabControl.SelectedIndex = tabControl.Items.Count - 1;
}
但這不起作用,因為在執行鏈接到我的按鈕單擊的所有函數之后創建了新的 TabItem。 因此,當我更改 SelectedIndex 時,尚未創建新的 TabItem。
我在 TabControl 類上搜索了一個 triggerEvent,比如“WhenItemsChange”,但我什么也沒找到。
感謝您的幫助,如果不清楚,請見諒。
您可以創建默認選中的 TabItem。
如果ti
已經是 TabItem,只需寫
ti.IsSelected = true;
tabControl.Items.Add(ti);
如果沒有,請為 TabControl 的ItemContainerStyle
分配適當的 Style :
<TabControl x:Name="tabControl">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="IsSelected" Value="True"/>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
嘗試這個:
private void AddNewTabItem(object sender, MouseButtonEventArgs e)
{
...
tabControl.Items.Add(ti);
Dispatcher?.BeginInvoke((Action)(
() => tabControl.SelectedIndex = tabControl.Items.Count - 1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.