私は20以上のウィンドウを持つwpfアプリケーションを持っています。そのほとんどはダイアログとして機能し、それらのすべてが同じ背景色を持つようにしたいと思います。すべてのwpfウィンドウにデフォルトのスタイルを適用する
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Resources/Resources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Resources/Resources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
を次のように
<Style TargetType="{x:Type Window}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid Background="{StaticResource WindowBackgroundBrush}">
<AdornerDecorator>
<ContentPresenter/>
</AdornerDecorator>
<ResizeGrip x:Name="WindowResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Visibility="Collapsed" IsTabStop="false"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="ResizeMode" Value="CanResizeWithGrip">
<Setter TargetName="WindowResizeGrip" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
を次のように私は辞書を持っているリソースディクショナリで定義されたウィンドウのための型指定されたスタイルを持っている
は、アプリケーションと、各ウィンドウのためのリソースに含めます
Visual Studioでは、プロパティエディタの背景ブラシに「継承」と表示されますが、値に「白」と表示されます。私はVisual Studioで希望の背景色を参照してください、しかし、私はまだ白い背景が表示されるアプリケーションを実行するとき。誰も私がここで間違っていることを説明することはできますか? WindowBackgroundBrushは他のコントロールに正しく適用されています。
注意私がするスタイルを簡素化する場合だけ
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="Aqua"/>
</Style>
Visual Studioは値のソースとして「スタイルセッター」として背景ブラシを示し、値がソースとしてアクアを示しているが、ウィンドウはまだ白いですアプリが起動するとき。
@EdPlunkettは、タグの処理内容です。 –
XAMlMAX
@XAMlMAX私はIQの日が低いです。ごめんなさい! –
@EdPlunkett np。私たちは皆、当時を持っています;-) – XAMlMAX