0

WPF ウィンドウにタブ コントロールがあります。TabControl の Item ソースはObservableCollection<UserControl>、そのビュー モデルにバインドされています。

では、TabControl の各 TabItem のタブ ヘッダーを設定するにはどうすればよいでしょうか。

私のタブ項目タイプは my ではUserControlないため、次のTabItemように設定できません:

((TabItem)Tabcontrol.Item[0]).Header="Something"

誰かが解決策を持っていますか?

TabControlは:

<TabControl Name="TabControl" Grid.Row="1" 
            ItemsSource="{Binding TabCollection}"
            SelectedIndex="{Binding CurrentIndex}" />
4

1 に答える 1

3

Headerユーザー コントロールで呼び出されるプロパティへのバインドを設定する各 TabItem のスタイルを設定する必要があります。これを試して:

<Style TargetType="{x:Type TabItem}">
    <Setter Property="Header" Value="{Binding Header}"/>
</Style>

tabitem に追加する各コントロールには、プロパティ呼び出しヘッダーが必要です。バインディングが機能するためにインターフェイスで宣言する必要はありません

タブ コントロールを使用した完全な例を次に示します。

<TabControl Name="TabControl" Grid.Row="1" ItemsSource="{Binding TabCollection}"  SelectedIndex="{Binding CurrentIndex}"  >
        <TabControl.Resources>
            <Style TargetType="{x:Type TabItem}">
                <Setter Property="Header" Value="{Binding Title}"/>
            </Style>
        </TabControl.Resources>
</TabControl>

スタイルは WPF によって自動的に適用されます。

于 2013-08-29T09:54:05.883 に答える