Visual Studio 2013 拡張機能を開発しています。ToolWindowPane で使用するすべてのコントロールは、これを使用して、Visual Studio に現在読み込まれているテーマと同じ背景を使用します。
Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}"
ユーザー コントロールの 1 つにタブを追加し、次のようにTabControl
、 、 のStackPanel
内部、ItemTemplate
および のスタイルの両方で背景を指定しましたTabControl.Resources
。
<TabControl
Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}"
>
<TabControl.Resources>
<Style TargetType="{x:Type TabPanel}">
<Setter Property="Background" Value="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}" />
</Style>
</TabControl.Resources>
<TabControl.ItemTemplate>
<DataTemplate >
<StackPanel Orientation="Horizontal"
Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}">
しかし、ヘッダーはまだ次のように見えます。
Visual Studio から TabControl にタブ ヘッダー スタイルを適用して、Visual Studio のタブと同じように表示する方法はありますか?
ヘッダーのスタイル部分の周囲にあるこの「白い」背景を削除する方法はありますか?
ありがとう
編集:
Paulo は私に正しい方向性を示してくれました。TabItem のテンプレートを再定義する必要がありました。この投稿の回答に従いました: WPF TabItem ヘッダーの背景を透明にする方法は? . 選択時にコーナーの半径と余白を削除し、色に VsBrushes も使用しました。
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border
Name="TabItemBorder"
Margin="0,0,-4,0"
Background="{DynamicResource {x:Static vsfx:VsBrushes.FileTabInactiveDocumentBorderBackgroundKey}}"
BorderThickness="1,1,1,1"
>
<ContentPresenter
x:Name="TabItemContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="5,2,5,2"
RecognizesAccessKey="True"
/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Panel.ZIndex" Value="100" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource {x:Static vsfx:VsBrushes.FileTabSelectedBackgroundKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
結果は次のようになります。
TabItem のスタイルを設定する必要があると思います。ItemTemplate のみを使用する場合、システムはデフォルト スタイルのほんの一部を置き換えます。
新しいスタイルを使用すると、表示する内容をより細かく制御できます。
テイク コントロールは有効な VS テーマを持つことができないようです。
パウロ・アボイム・ピント
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加