简体   繁体   中英

WPF Databinding TabItem Headers

I am binding a ObservableCollection of data objects to my tab control item source. I have correctly figured out how to bind the controls within the tabitem that is generated, however I cannot figure out how to change the header property of the tabitem that is generated using the a property within the Observable Collection. Sorry if I am wording this incorrectly. Here is my XAML for the tabitem data template:

<DataTemplate x:Key="TabItemTemplate">
        <TreeView Height="461" VerticalAlignment="Top" 
            Width="625" ItemTemplateSelector="{StaticResource TreeviewDataSelector}" ItemsSource="{Binding}" />
</DataTemplate>

Create a Style for your TabItems that sets the Header property, and apply the style to TabControl.ItemContainerStyle

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

将TabControl上的DisplayMemberPath设置为属性的名称。

<TabControl ItemsSource="{Binding items}" DisplayMemberPath="headerPropertyName">

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM