2011-08-01 14 views
10

Oto App.xaml:Dlaczego nie działa ustawienie stylu tła okna?

<Application> 
<Application.Resources> 
    <ResourceDictionary> 
     <Style TargetType="Window"> 
      <Setter Property="SnapsToDevicePixels" Value="True"/> 
      <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/> 
     </Style> 
    </ResourceDictionary> 
</Application.Resources> 
</Application> 

Mam też MainWindow.xaml. Podczas przeglądania w trybie projektowania w VS jego tło jest rzeczywiście szare, tak jak powinno być. W każdym razie, gdy aplikacja jest uruchomiona, tło okna jest domyślnie białe.

Dlaczego?

Jak to naprawić? Chcę, aby wszystkie okna miały domyślnie standardowe tło.

Odpowiedz

11

Nawiązując do odpowiedzi z CodeNaked, musisz stworzyć Style dla każdego Window masz, ale można użyć tego samego stylu dla nich wszystkich z BasedOn tak

<Application.Resources> 
    <ResourceDictionary> 
     <Style TargetType="Window"> 
      <Setter Property="SnapsToDevicePixels" Value="True"/> 
      <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/> 
     </Style> 
     <Style TargetType="{x:Type local:MainWindow}" 
       BasedOn="{StaticResource {x:Type Window}}"/> 
     <Style TargetType="{x:Type local:SomeOtherWindow}" 
       BasedOn="{StaticResource {x:Type Window}}"/> 
     <!-- Add more Windows here... --> 
    </ResourceDictionary> 
</Application.Resources 
+0

Dzięki! Nawet