none
WPF TabItemのStyle設定方法について RRS feed

  • 質問

  • 以下のように、動的にtabcontrolの要素を追加するXAMLを作成しております。

    TabControl.****で何かしらstyleを指定する方法があると思うのですが、具体的にどのような指定方法があるのでしょうか。

    通常時は背景色を黒、選択されていた時は白、になるような具体的な例を教えていただけるととても助かります。

                <TabControl ItemsSource="{Binding TabItems}" SelectedItem="{Binding CurrentItem}" TabStripPlacement="Bottom">
                    <TabControl.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="0">
                                <Rectangle Width="10" Height="10" Fill="AliceBlue"/>
                                <TextBlock Text="{Binding Name}"/>
                            </StackPanel>
                            
                        </DataTemplate>
                    </TabControl.ItemTemplate>
    
                    <TabControl.ContentTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Number}"/>
                        </DataTemplate>
                    </TabControl.ContentTemplate>
    
                </TabControl>
    


    2017年3月15日 14:28

回答

すべての返信

  • ItemContainerStyleをどうぞ。
    2017年3月15日 14:54
  • ありがとうございます!

                    <TabControl.ItemContainerStyle>
                        <Style TargetType="TabItem">
                            <Setter Property="Background" Value="AliceBlue"/>
                        </Style>
                    </TabControl.ItemContainerStyle>

    このコードで、選択していないタブの背景色を変更することができました。

    追加で、選択されいている(IsSelectedがTrue)のタブはどのように変更するのでしょう
    Trigger?が必要なのかと思いますが以下のコードだと、色の変更がサれません…

                    <TabControl.ItemContainerStyle>
                        <Style TargetType="TabItem">
                            <Setter Property="Background" Value="AliceBlue"/>
                            <Style.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter Property="Background" Value="Black"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                        
                    </TabControl.ItemContainerStyle>


    • 編集済み no title 2017年3月15日 15:12
    2017年3月15日 15:11
  • 以下が参考になると思います。二番目の(最後の)サンプルだと、タブに丸みをかけたりもしていますね。

    WPF TabControl: Styling the TabItems
    http://www.wpf-tutorial.com/tabcontrol/styling-the-tabitems/


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2017年3月16日 0:52
    モデレータ