2016-08-25 1 views
0

Ich habe eine Schaltfläche Stil in einer erstellten style.xamlResourceDictionary Datei.Wie Sie einen Style in einer ResourceDictionary-Datei in XAML aufrufen?

benutzte ich diesen Code zu nennen:

<Button Style="{DynamicResource exitButton}" /> 

Aber es hat nicht den Stil Schlüssel erkennen entweder Static mit auch nicht funktioniert. Wie man dieses Problem löst?

Mein Stil Code:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Style x:Key="exitButton" TargetType="Button"> 
    <Setter Property="Width" Value="22"/> 
    <Setter Property="Height" Value="32"/> 
    <Setter Property="Background" Value="#FF7070"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
     <ControlTemplate TargetType="Button"> 
      <Border Width="{TemplateBinding Width}" 
        Height="{TemplateBinding Height}" 
        HorizontalAlignment="Center" 
        VerticalAlignment="Center"> 
      <TextBlock Text="X" 
         FontSize="15" 
         Foreground="White" 
         FontWeight="Bold"/> 
      </Border> 
     </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
    </Style> 
</ResourceDictionary> 
+1

Mögliche Duplikat [benutzerdefinierte Ressource WPF Referenz definiert in einer anderen XAML-Datei] (http://stackoverflow.com/questions/15775111/wpf-reference-custom-resource-defined-in-an-other-xaml-file) –

Antwort

1

Sie haben die ResourceDictionary Datei in Ihrem XAML zu importieren, in den Resources Tags.

Etwas wie folgt aus:

<UserControl blablabla...> 
    <UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="/*PROJECT_NAME*;component/*FOLDER_PATH*/style.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
    </USerControl.Resources> 

    <!-- the content --> 

    ... 

    <Button Style="{StaticResource exitButton}"/> 

</UserControl> 
1

Sie haben zwei Möglichkeiten:

  1. Wie HasNotifications sagte embede die Ressource in der Ansicht, dass Sie den Stil beeinflussen nehmen wollen
  2. einbetten Stil die Anwendung ResourceDictionary. An diesem Fall wird der Stil zu jedem Blick auf die Anwendung

Fügen Sie den folgenden Code in die Datei App.xaml verfügbar sein:

<Application x:Class="WpfApp1.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:local="clr-namespace:WpfApp1" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="/*PROJECT_NAME*;component/*FOLDER_PATH*/style.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 
</Application> 
Verwandte Themen