Visual Studio 2012 Metro Styles für WPF–Teil 1

Obwohl viele bei dem Wort “Metro” wahrscheinlich an Windows 8 und an das “Kachelwand”-Startmenü denken werden, folgt auch der Visual Studio 2012 Style dem Metro-Prinzip.

Weil sich dieser VS-Metro-Style für komplizierte Anwendungen, die nicht unbedingt dafür gedacht sind auf irgendwelchen Smartphones oder so zu laufen, viel besser eignet, habe ich ein paar Styles für Standard Controls und eine Beispielanwendung dazu gebastelt.

Screenshots

Screen1Screen2

Übersicht

Die Styles sind in mehrere ResourceDictionaries aufgeteilt. Für jedes Control gibt es ein eigenes Dictionary. Die Styles sind jeweils mit einem Schlüssel versehen, sodass man sie explizit referenzieren muss. Das “Styles.xaml” ResourceDictionary fasst alle Styles zusammen und setzt sie als Standard (ohne Key).

Komplettes Styleset verwenden

App.xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/Styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

 

Nur Teile davon

App.xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
                Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/ButtonStyles.xaml"/>
            <ResourceDictionary 
                Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/TextBoxStyles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

 

Bei Verwendung explizit referenzieren:

<Button Content="blastallenemies.cmd" Style="{StaticResource LinkButton}"/>

 

Liste der Styles (Typ und Key)

TargetType Key
Button StandardButton
Button LinkButton
TabControl StandardTabControl
Menu StandardMenu
ListBox StandardListBox
ScrollBar StandardScrollBar
TextBox StandardTextBox
TextBox SearchTextBox

Download

Direkter Download

Codeproject Artikel

Veröffentlicht von

Winfried

Student TU Chemnitz