簡體   English   中英

WPF:將TabControl.Selected事件添加到DataTemplate

[英]WPF: Add TabControl.Selected event to DataTemplate

我有以下XAML設置了TabControl

<TabControl Name="TabsControl"
            ItemsSource="{Binding Tabs}"
            SelectedItem="{Binding SelectedTabViewModel}">

    <TabControl.Resources>
        <DataTemplate DataType="{x:Type vm:SystemSetupViewModel}">
            <v:SystemSetupUserControl />
        </DataTemplate>
        <DataTemplate DataType="{x:Type vm:RateTablesViewModel}">
            <v:RateTablesUserControl />
        </DataTemplate>
    </TabControl.Resources>

    <TabControl.ItemContainerStyle>
        <Style TargetType="TabItem">
            <Setter Property="Header" Value="{Binding Header}" />
            <Setter Property="Width" Value="120" />
        </Style>

    </TabControl.ItemContainerStyle>

</TabControl>

有沒有一種方法可以將命令(綁定到ViewModel中的方法)添加到特定選項卡,從而使我每次選擇選項卡時都可以執行一個方法?

我通常采用的方法是將其放入ViewModel中-由於您綁定到SelectedItem,因此您是否可以檢查舊值!=新值,如果可以,則調用該方法嗎? 您的ViewModels是SelectedItem(看起來是這樣)還是在View中聲明了,因此從您當前的角度來看是無法訪問的?

如果是的話,那么每個ViewModel都不能實現一個接口,即ISelectedTabCallback,然后在該接口上執行該方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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