.NET GUI

.NET Community rund um alle Graphical User Interface (GUI) Themen.
Willkommen bei .NET GUI. Anmeldung | Registrieren | Hilfe | Impressum | Forumsregeln
in Suchen

Resource Dictionary erstellen

Letzter Beitrag 04-21-2008 21:00 von Norbert Eder. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 04-21-2008 21:00

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 377
    • Punkte 5.734
    • ForumsAdministrator

    Resource Dictionary erstellen

    Resource Dictionaries sind eine hilfreiche Sache. So können beispielsweise in der App.xaml Resource Dictionaries definiert werden, welche herangezogen werden, um Styles und Templates aus ihnen zu laden. Der Vorteil liegt darin, dass damit ein Aussehen über mehrere Anwendungen hinweig definiert werden kann. Als Beispiel werden in einem Resource Dictionary definiert, wie Textboxen, Buttons etc. aussehen. Sollen nun sämtliche Anwendungen deselben Entwicklers gleich aussehen (oder deselben Unternehmens) ist lediglich dieses Dictionary einzubinden.

    Um ein Resource Dictionary zu erstellen, ist im Solution Explorer von Visual Studio Add -> Resource Dictionary zu wählen.  Daraufhin wird eine XAML-Datei mit folgendem Aussehen erstellt:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        
    </ResourceDictionary>

    Hier können nun Styles und Templates definiert werden.  Beispielsweise könnte für alle Buttons eine einheitliche Schriftart und -größe definiert werden:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        
        <Style  TargetType="{x:Type Button}">
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontSize" Value="18"/>
        </Style>
    </ResourceDictionary>
    In diesem Beispiel würde für Buttons die Schriftart Arial mit der Schriftgröße 18 gewählt werden. Nun hängt es davon ab, wo unser erstelltes Resource Dictionary eingebunden wird. Wird es in der App.xaml eingebunden, ist diese Einstellung für die gesamte Anwendung gültig. So kann das Dictionary eingebunden werden (in diesem Fall in der App.xaml):

    <Application x:Class="WpfResourceDictionaryDemo.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        StartupUri="Window1.xaml">
        <Application.Resources>
            
            <ResourceDictionary Source="Resources/ButtonStyle.xaml"/>
            
        </Application.Resources>
    </Application>
    Zu beachten ist, dass das Resource Dictionary im Unterverzeichnis Resources zu finden ist.

    Weiter ist nichts zu beachten. Da das Resource Dictionary in der App.xaml definiert wurde, ist diese Einstellung für alle Buttons in unserer Anwendung gültig. Dies bedeutet, dass alle Buttons gleich dargestellt werden. Dies kann natürlich für sämtliche Elemente angewandt werden. Zudem sind natürlich komplexere Einstellungen möglich.

    Hier ein Beispiel welches einen Button in einem Fenster anzeigt, welcher diese definierten Einstellungen übernimmt:

    <Window x:Class="WpfResourceDictionaryDemo.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
            <Button x:Name="StartButton" Content="Click to start"/>
        </Grid>
    </Window>
    Nun können diese Dictionaries in unterschiedlichen Anwendungen eingebunden werden und versehen somit alle Anwendungen des gleichen Herstellers mit demselben Aussehen. Zudem kann zusätzlich entschieden werden, ob die Dictionaries in die Assembly kompiliert werden, oder extern ausgelagert werden. Im letzeren Punkt können diese ausserhalb der Anwendung geändert werden.

    Weitere Informationen zum Thema Ressourcen können im MSDN bezogen werden.

    Als Beiweis der Funktionsfähigkeit soll folgender Screenshot dienen:





    Abgelegt unter: ,
    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)
Powered by Community Server (Commercial Edition)    Hosting powered by 69° media solutions