簡體   English   中英

添加新 TabItem 時更改 TabControl SelectedIndex

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM