5 Stimmen

Wie verbindet man Themes/Generic.xaml mit window1.xaml?

Ich habe die folgende Schaltfläche Stil in Themes/Generic.xaml und ich möchte es auf Schaltflächen überall in meiner WPF-Anwendung anwenden.

Wie verbinde ich es mit meinem window1.xaml zum Beispiel?

<Style TargetType="{x:Type Button}">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="MinHeight" Value="23"/>
  <Setter Property="MinWidth" Value="75"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type Button}">
        <Border 
          x:Name="Border"  
          CornerRadius="2" 
          BorderThickness="1"
          Background="#C0C0C0"
          BorderBrush="#404040">
          <ContentPresenter 
            Margin="2"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            RecognizesAccessKey="True"/>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsKeyboardFocused" Value="true">
            <Setter TargetName="Border" Property="BorderBrush" Value="#202020" />
          </Trigger>
          <Trigger Property="IsDefaulted" Value="true">
            <Setter TargetName="Border" Property="BorderBrush" Value="#202020" />
          </Trigger>
          <Trigger Property="IsMouseOver" Value="true">
            <Setter TargetName="Border" Property="Background" Value="#808080" />
          </Trigger>
          <Trigger Property="IsPressed" Value="true">
            <Setter TargetName="Border" Property="Background" Value="#E0E0E0" />
            <Setter TargetName="Border" Property="BorderBrush" Value="#606060" />
          </Trigger>
          <Trigger Property="IsEnabled" Value="false">
            <Setter TargetName="Border" Property="Background" Value="#EEEEEE" />
            <Setter TargetName="Border" Property="BorderBrush" Value="#AAAAAA" />
            <Setter Property="Foreground" Value="#888888"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

2 Stimmen

Ich weiß, dies ist eine alte Frage ... aber ich würde vorschlagen, dass, wenn Sie nur den Standard-Button-Stil ändern möchten ... dass Sie die oben genannten xaml in Ihre App.xaml-Datei verschieben. Generic.xaml hat einen bestimmten Zweck des Seins ein Fallback-Mechanismus für WPF's Thema Styling. Siehe den Link (von Song) unten zu einem anderen StackOverflow Beitrag mit mehr Informationen zu diesem Thema.

1 Stimmen

Heck, Muad'Dib's Antwort unten ... Art von implizit schlägt vor, was ich sage ... durch Einbinden DefaultStyles.xaml in ... anstelle von Generic.xaml. :-)

8voto

Muad'Dib Punkte 27506

In Ihrer Widow1.xaml (oder Ihrer App.xaml, die in ) ......

<Window1.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="DefaultStyles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window1.Resources>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X