Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 6. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Das Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Strukturen und Enumerationen
7 Fehlerbehandlung und Debugging
8 Auflistungsklassen (Collections)
9 Generics – Generische Datentypen
10 Weitere C#-Sprachfeatures
11 LINQ
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 XML
15 Multithreading und die Task Parallel Library (TPL)
16 Einige wichtige .NET-Klassen
17 Projektmanagement und Visual Studio 2012
18 Einführung in die WPF und XAML
19 WPF-Layout-Container
20 Fenster in der WPF
21 WPF-Steuerelemente
22 Elementbindungen
23 Konzepte von WPF
24 Datenbindung
25 Weitere Möglichkeiten der Datenbindung
26 Dependency Properties
27 Ereignisse in der WPF
28 WPF-Commands
29 Benutzerdefinierte Controls
30 2D-Grafik
31 ADO.NET – Verbindungsorientierte Objekte
32 ADO.NET – Das Command-Objekt
33 ADO.NET – Der SqlDataAdapter
34 ADO.NET – Daten im lokalen Speicher
35 ADO.NET – Aktualisieren der Datenbank
36 Stark typisierte DataSets
37 Einführung in das ADO.NET Entity Framework
38 Datenabfragen des Entity Data Models (EDM)
39 Entitätsaktualisierung und Zustandsverwaltung
40 Konflikte behandeln
41 Plain Old CLR Objects (POCOs)
Stichwort

Download:
- Beispiele, ca. 62,4 MB

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Visual C# 2012 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2012

Visual C# 2012
Rheinwerk Computing
1402 S., 6., aktualisierte und erweiterte Auflage 2013, geb., mit DVD
49,90 Euro, ISBN 978-3-8362-1997-6
Pfeil 23 Konzepte von WPF
Pfeil 23.1 Anwendungsspezifische Ressourcen
Pfeil 23.2 Anwendungsübergreifende Ressourcen
Pfeil 23.2.1 Mehrere Ressourcenwörterbücher
Pfeil 23.2.2 Die Suche nach einer Ressource
Pfeil 23.3 Logische Ressourcen
Pfeil 23.3.1 Statische Ressourcen
Pfeil 23.3.2 Dynamische Ressourcen
Pfeil 23.3.3 Ressourcen mit C#-Code bearbeiten
Pfeil 23.3.4 Abrufen von Systemressourcen
Pfeil 23.4 Styles
Pfeil 23.4.1 Einfache Styles
Pfeil 23.4.2 Typisierte Styles
Pfeil 23.4.3 Erweitern von Styles
Pfeil 23.4.4 EventSetter
Pfeil 23.5 Trigger
Pfeil 23.5.1 Eigenschaftstrigger
Pfeil 23.5.2 Datentrigger
Pfeil 23.5.3 Ereignistrigger
Pfeil 23.6 Templates
Pfeil 23.6.1 Allgemeines zu »ControlTemplates«
Pfeil 23.6.2 Definition innerhalb eines Styles
Pfeil 23.7 Ermitteln des visuellen Elementbaums
Pfeil 23.7.1 Das Tool »Expression Blend«
Pfeil 23.7.2 Standard-Template mit Code abfragen

23 Konzepte von WPFZur nächsten Überschrift

Unter der WPF müssen wir zwei Gruppen von Ressourcen unterscheiden:

  • binäre Ressourcen
  • logische Ressourcen

Bei den binären Ressourcen kann es sich um Videos, Musik oder auch Bilder handeln, für die binäre Datenströme (Streams) notwendig sind. Im Grunde genommen handelt es sich dabei um nicht ausführbare Dateien, die mit einer Anwendung ausgeliefert werden müssen. Binäre Daten wurden schon von der ersten Version des .NET Frameworks unterstützt und stellen somit keine Besonderheit im Zusammenhang mit der WPF dar.

Ganz anders verhält es sich mit logischen Ressourcen, einem mit der WPF eingeführten neuen Konzept. Dabei handelt es sich um .NET-Objekte, die an mehreren Stellen einer WPF-Anwendung genutzt werden können. Ressourcen werden in einem mit Resources gekennzeichneten Abschnitt eines WPF-Elements angegeben. Resources ist als Eigenschaft in der Klasse FrameworkElement definiert, so dass nahezu jedes WPF-Element einen Resources-Abschnitt beschreiben kann.

Die später in diesem Kapitel behandelten Styles und Templates setzen das Feature logischer Ressourcen voraus. Daher werden wir uns zuerst mit den allgemeinen Kriterien zur Bereitstellung von Ressourcen beschäftigen müssen. Anschließend folgen thematisch die Styles und Templates. Styles fassen Eigenschaften zusammen, die auf mehrere Steuerelemente angewendet werden können und das Layout vereinheitlichen. Templates gehen sogar noch einen Schritt weiter und ermöglichen es, Steuerelemente vollständig umzugestalten. Sie können mit Templates zum Beispiel runde Schaltflächen definieren.


Rheinwerk Computing - Zum Seitenanfang

23.1 Anwendungsspezifische RessourcenZur vorigen Überschrift

Logische Ressourcen werden meistens im XAML-Code definiert. Alles, was Sie im XAML-Code festlegen, können Sie natürlich auch mit C#-Code erreichen. Allerdings ist der Weg über XAML der einfachere und normalerweise auch derjenige, der zu bevorzugen ist.

Ressourcen lassen sich an drei Lokalitäten festlegen:

  • Eine Ressource kann innerhalb eines WPF-Elements angegeben werden. Die Sichtbarkeit der Ressource beschränkt sich dann allein auf das definierende Element. Andere Elemente können diese Ressource nicht nutzen. Diese Variante wird aufgrund ihrer begrenzten Sichtbarkeit allerdings nur selten eingesetzt, muss aber der Vollständigkeit halber erwähnt werden. Im folgenden Beispiel wird eine Ressource für ein Grid-Element und eine Ressource für ein Button-Element erstellt. Jede der beiden Ressourcen kann nur von dem Element genutzt werden, das die Ressource definiert.
    <Grid>
    <Grid.Resources>
    <!-- Ressourcen des Grids -->
    </Grid.Resources>
    <Button>
    <Button.Resources>
    <!-- Ressourcen der Schaltfläche -->
    </Button.Resources>
    </Button>
    </Grid>
  • Wird eine logische Ressource in einem Window definiert, steht sie allen WPF-Elementen, die sich innerhalb des Fensters befinden, gleichermaßen zur Verfügung. Sie müssen den Resources-Abschnitt manuell hinzufügen, er wird nicht automatisch erstellt.
    <Window x:Class="WpfApplication.MainWindow"
    xmlns="http://..."
    xmlns:x="http://..."
    Title="MainWindow" Height="300" Width="350">
    <Window.Resources>

    <!-- Windows-eigene Ressourcen -->
    </Window.Resources>

    </Window>
  • Möchten Sie, dass eine logische Ressource von allen Elementen der Anwendung gleichermaßen genutzt werden kann, muss die Ressource in der Datei App.xaml definiert werden. Der entsprechende Abschnitt ist dafür bereits per Vorgabe angelegt:
    <Application x:Class="WpfApplication.App"
    xmlns=http://...
    xmlns:x=http://...
    StartupUri="MainWindow.xaml">
    <Application.Resources>
    </Application.Resources>

    </Application>

Die Resources-Eigenschaft wird von den meisten WPF-Elementen angeboten. Die einzige Bedingung ist, dass das entsprechende Element von FrameworkElement, FrameworkContentElement oder Application abgeleitet ist.

Die Eigenschaft Resources ist vom Typ ResourceDictionary. Dabei handelt es sich um eine Auflistung, die Objekte vom Typ Object beschreibt. Sie können also praktisch jedes .NET-Objekt in beliebiger Anzahl dieser Auflistung hinzufügen.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Visual C# 2012

Visual C# 2012
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Rheinwerk-Shop: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: C++ Handbuch






 C++ Handbuch


Zum Rheinwerk-Shop: C/C++






 C/C++


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern