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

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Download:
- ZIP, ca. 19,3 MB
Buch bestellen
Ihre Meinung?

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

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1552-7
Wenn Sie ein Buch suchen, dass Ihnen bei allen Fragen der C#-Entwicklung zuverlässig mit Rat und Tat zur Seite steht, dann ist unser bewährtes Kompendium genau das Richtige für Sie. Mittlerweile in der 5. Auflage erschienen, dient es ambitionierten Ein- und Umsteigern durch seine strukturierte Vorgehensweise und die zahlreichen Anwendungsbeispiele als praxisorientierte Einführung; Fortgeschrittene und Profis unterstützt es als Nachschlagewerk optimal bei ihrer täglichen Arbeit.

In den ersten Kapiteln werden zunächst die Grundlagen von C#, .NET und der objektorientierten Programmierung vermittelt. Es folgen Kapitel zur effizienten Entwicklung mit Visual Studio 2010, zur Fehlerbehandlung sowie zu fortgeschrittenen C#-Themen wie LINQ, Multithreading, Serialisierung u.v.m. Den größten Themenblock bildet die Entwicklung von grafischen Benutzeroberflächen. Neben einer fundierten Einführung in die WPF und XAML erfahren Sie hier alles Notwendige, um auch komplexe Anwendungen zu gestalten. Anschließend wird die Datenbankprogrammierung mit ADO.NET ausführlich behandelt und zu guter Letzt die Weitergabe von .NET-Anwendungen thematisiert. So sind Sie für Ihren Arbeitsalltag bestens gerüstet!

Nutzen Sie die HTML-Version (inkl. Syntax-Highlighting) zum Reinschnuppern oder als immer verfügbare Ergänzung zu Ihrem Buch.

Auf unserer Katalogseite steht Ihnen ab sofort zusätzlich eine Volltextsuche im Buch zur Verfügung.

Die gedruckte Version des Buches erhalten Sie in unserem Online-Shop - versandkostenfrei innerhalb Deutschlands und Österreichs.
Zum Online-Shop

Inhaltsverzeichnis

Vorwort zur 5. Auflage

Galileo Computing

1 Allgemeine Einführung in .NET

1.1 Warum .NET?

1.1.1 Ein paar Worte zu diesem Buch
1.1.2 Die Beispielprogramme

1.2 .NET unter die Lupe genommen

1.2.1 Das Entwicklerdilemma
1.2.2 .NET – ein paar allgemeine Eigenschaften
1.2.3 Das Sprachenkonzept
1.2.4 Die Common Language Specification (CLS)
1.2.5 Das Common Type System (CTS)
1.2.6 Das .NET Framework
1.2.7 Die Common Language Runtime (CLR)
1.2.8 Die .NET-Klassenbibliothek
1.2.9 Das Konzept der Namespaces

1.3 Assemblys

1.3.1 Die Metadaten
1.3.2 Das Manifest

1.4 Die Entwicklungsumgebung

1.4.1 Editionen von Visual Studio 2010
1.4.2 Hard- und Softwareanforderungen
1.4.3 Installation
1.4.4 Entwicklungsumgebung von Visual Studio 2010
Galileo Computing

2 Grundlagen der Sprache C#

2.1 Konsolenanwendungen

2.1.1 Allgemeine Anmerkungen
2.1.2 Ein erstes Konsolenprogramm

2.2 Grundlagen der C#-Syntax

2.2.1 Kennzeichnen, dass eine Anweisung abgeschlossen ist
2.2.2 Anweisungs- und Gliederungsblöcke
2.2.3 Kommentare
2.2.4 Groß- und Kleinschreibung
2.2.5 Struktur einer Konsolenanwendung

2.3 Variablen und Datentypen

2.3.1 Variablendeklaration
2.3.2 Variablenbezeichner
2.3.3 Zugriff auf eine Variable
2.3.4 Ein- und Ausgabemethoden der Klasse »Console«
2.3.5 Einfache Datentypen
2.3.6 Typkonvertierung

2.4 Operatoren

2.4.1 Arithmetische Operatoren
2.4.2 Vergleichsoperatoren
2.4.3 Logische Operatoren
2.4.4 Bitweise Operatoren
2.4.5 Zuweisungsoperatoren
2.4.6 Stringverkettung
2.4.7 Sonstige Operatoren
2.4.8 Operator-Vorrangregeln

2.5 Datenfelder (Arrays)

2.5.1 Deklaration und Initialisierung eines Arrays
2.5.2 Zugriff auf Array-Elemente
2.5.3 Speicherabbild eines Arrays
2.5.4 Mehrdimensionale Arrays
2.5.5 Array-Größe zur Laufzeit festlegen
2.5.6 Bestimmung der Array-Obergrenze
2.5.7 Gesamtanzahl der Array-Elemente
2.5.8 Verzweigte Arrays

2.6 Kontrollstrukturen

2.6.1 if-Anweisung
2.6.2 switch-Statement

2.7 Programmschleifen

2.7.1 for-Schleife
2.7.2 foreach-Schleife
2.7.3 do- und while-Schleife
Galileo Computing

3 Klassendesign

3.1 Einführung in die Objektorientierung

3.1.1 Vorteile der objektorientierten Programmierung

3.2 Klassendefinition

3.2.1 Klassen in Visual Studio anlegen
3.2.2 Das Projekt »GeometricObjectsSolution«
3.2.3 Deklaration von Objektvariablen
3.2.4 Zugriffsmodifizierer einer Klasse
3.2.5 Splitten einer Klassendefinition mit »partial«

3.3 Arbeiten mit Objektreferenzen

3.3.1 Prüfen auf Initialisierung
3.3.2 Ein Objekt freigeben
3.3.3 Mehrere Referenzen auf ein Objekt

3.4 Referenz- und Wertetypen

3.5 Eigenschaften eines Objekts

3.5.1 Öffentliche Felder
3.5.2 Datenkapselung mit Eigenschaftsmethoden sicherstellen
3.5.3 Ergänzung der Klasse »Circle«
3.5.4 Lese- und schreibgeschützte Eigenschaften
3.5.5 Sichtbarkeit der Accessoren »get« und »set«
3.5.6 Unterstützung von Visual Studio 2010
3.5.7 Automatisch implementierte Eigenschaften
3.5.8 Vereinfachte Objektinstanziierung mit Objektinitialisierern

3.6 Methoden eines Objekts

3.6.1 Methoden mit Rückgabewert
3.6.2 Methoden ohne Rückgabewert
3.6.3 Methoden mit Parameterliste
3.6.4 Methodenüberladung
3.6.5 Variablen innerhalb einer Methode (Lokale Variablen)
3.6.6 Referenz- und Wertparameter
3.6.7 Zugriff auf private Daten
3.6.8 Namenskonflikte mit »this« lösen
3.6.9 Trennung von Daten und Code im Speicher
3.6.10 Methode oder Eigenschaft?
3.6.11 Methoden und Eigenschaften umbenennen

3.7 Konstruktoren

3.7.1 Konstruktoren bereitstellen
3.7.2 Parametrisierte Konstruktoren und die Objektinitialisierung
3.7.3 Konstruktoraufrufe
3.7.4 Definition von Konstruktoren
3.7.5 »internal«-Konstruktoren
3.7.6 »private«-Konstruktoren
3.7.7 Konstruktorenaufrufe umleiten

3.8 Der Destruktor

3.9 Konstanten in einer Klasse

3.9.1 Konstanten mit dem Schlüsselwort »const«
3.9.2 Schreibgeschützte Felder mit »readonly«

3.10 Statische Klassenkomponenten

3.10.1 Begrifflichkeiten
3.10.2 Statische Klassenvariable in der Klasse »Circle«
3.10.3 Klassenspezifische Methoden
3.10.4 Statische Konstruktoren (Klasseninitialisierer)
3.10.5 Statische Klassen
3.10.6 Stand der Klasse »Circle«
Galileo Computing

4 Vererbung, Polymorphie und Interfaces

4.1 Die Vererbung

4.1.1 Basisklassen und abgeleitete Klassen
4.1.2 Ableitung einer Klasse
4.1.3 Klassen, die nicht abgeleitet werden können
4.1.4 Konstruktoren in abgeleiteten Klassen
4.1.5 Der Zugriffsmodifizierer »protected«
4.1.6 Konstruktorverkettung in der Vererbung

4.2 Der Problemfall geerbter Methoden

4.2.1 Geerbte Methoden mit »new« verdecken
4.2.2 Abstrakte Methoden
4.2.3 Virtuelle Methoden

4.3 Typumwandlung und Typuntersuchung von Objektvariablen

4.3.1 Implizite Typumwandlung von Objektreferenzen
4.3.2 Explizite Typumwandlung von Objektreferenzen
4.3.3 Typuntersuchung mit dem is-Operator
4.3.4 Typumwandlung mit dem as-Operator

4.4 Polymorphie

4.4.1 »Klassische« Methodenimplementierung
4.4.2 Abstrakte Methoden
4.4.3 Virtuelle Methoden
4.4.4 Versiegelte Methoden
4.4.5 Überladen einer Basisklassenmethode
4.4.6 Statische Member und Vererbung

4.5 Das Projekt »GeometricObjectsSolution« ergänzen

4.6 Hat-ein(e)-Beziehungen

4.6.1 Innere Klassen (Nested Classes)

4.7 Interfaces (Schnittstellen)

4.7.1 Schnittstellendefinition
4.7.2 Schnittstellenimplementierung
4.7.3 Interpretation der Schnittstellen

4.8 Das Zerstören von Objekten – der Garbage Collector

4.8.1 Arbeitsweise des Garbage Collectors
4.8.2 Expliziter Aufruf des Garbage Collectors
4.8.3 Der Destruktor
4.8.4 Die »IDisposable«-Schnittstelle
4.8.5 Ergänzungen in den Klassen »Circle« und »Rectangle«
Galileo Computing

5 Delegates und Ereignisse

5.1 Delegates

5.1.1 Einführung in das Prinzip der Delegates
5.1.2 Vereinfachter Aufruf eines Delegates
5.1.3 Multicast-Delegate
5.1.4 Anonyme Methoden

5.2 Ereignisse eines Objekts

5.2.1 Ereignis in einer Ereignisquelle ergänzen
5.2.2 Behandlung eines Ereignisses im Ereignisempfänger
5.2.3 Allgemeine Betrachtungen der Ereignishandlerregistrierung
5.2.4 Wenn der Ereignisempfänger ein Ereignis nicht behandelt
5.2.5 Ereignisse mit Übergabeparameter
5.2.6 Ereignisse in der Vererbung
5.2.7 Hinter die Kulissen geblickt
5.2.8 Änderungen im Projekt »GeometricObjects«
Galileo Computing

6 Weitere .NET-Datentypen

6.1 Strukturen

6.1.1 Definition einer Struktur
6.1.2 Initialisieren einer Struktur
6.1.3 Weitere Merkmale einer Struktur
6.1.4 Verschachtelte Strukturen
6.1.5 Änderung im Projekt »GeometricObjects«

6.2 Enumerationen (Aufzählungen)

6.2.1 Wertzuweisung an »enum«-Mitglieder
6.2.2 Alle Mitglieder einer Aufzählung durchlaufen
Galileo Computing

7 Weitere Möglichkeiten von C#

7.1 Namensräume (Namespaces)

7.1.1 Zugriff auf Namespaces
7.1.2 Die »using«-Direktive
7.1.3 Globaler Namespace
7.1.4 Vermeiden von Mehrdeutigkeiten
7.1.5 Namespaces festlegen
7.1.6 Der ::-Operator

7.2 Generics – generische Datentypen

7.2.1 Lösung mit einer generischen Klasse
7.2.2 Typparameter mit Constraints einschränken
7.2.3 Generische Methoden
7.2.4 Generics und Vererbung
7.2.5 Konvertierung von Generics
7.2.6 Generische Delegates
7.2.7 Generische Klassen in der .NET-Klassenbibliothek

7.3 Operatorüberladung

7.3.1 Syntax der Operatorüberladung
7.3.2 Operatorüberladungen in »GeometricObjectsSolution«
7.3.3 »true«- und »false«-Operatoren
7.3.4 Benutzerdefinierte Konvertierungen

7.4 Indexer

7.4.1 Überladen von Indexern
7.4.2 Parameterbehaftete Eigenschaften

7.5 Erweiterungsmethoden

7.6 Implizit typisierte Variablen (Typinferenz)

7.7 Lambda-Ausdrücke

7.8 Anonyme Typen

7.9 Nullable-Typen

7.10 Attribute

7.10.1 Das »Flags«-Attribut
7.10.2 Anmerkungen zu den Attributen
7.10.3 Benutzerdefinierte Attribute
7.10.4 Attribute auswerten
7.10.5 Festlegen der Assembly-Eigenschaften

7.11 Partielle Methoden

7.12 Dynamisches Binden

7.12.1 Eine kurze Analyse
7.12.2 Dynamische Objekte

7.13 Unsicherer (unsafe) Programmcode – Zeigertechnik in C#

7.13.1 Einführung
7.13.2 Das Schlüsselwort »unsafe«
7.13.3 Deklaration von Zeigern
7.13.4 Die »fixed«-Anweisung
7.13.5 Zeigerarithmetik
7.13.6 Der Operator »->«
Galileo Computing

8 Auflistungsklassen (Collections)

8.1 Die Listen des Namespace »System.Collections«

8.1.1 Die elementaren Schnittstellen der Auflistungsklassen

8.2 Die Klasse »ArrayList«

8.2.1 Einträge hinzufügen
8.2.2 Datenaustausch zwischen einem Array und einer ArrayList
8.2.3 Die Elemente einer ArrayList sortieren
8.2.4 Sortieren von Arrays mit »ArrayList.Adapter«

8.3 Die Klasse »Hashtable«

8.3.1 Methoden und Eigenschaften der Schnittstelle »IDictionary«
8.3.2 Beispielprogramm zur Klasse »Hashtable«

8.4 Die Klassen »Queue« und »Stack«

8.4.1 Die »Stack«-Klasse

8.5 Objektauflistungen im Überblick

8.6 Generische Auflistungsklassen

8.6.1 Die Interfaces der generischen Auflistungsklassen
8.6.2 Die generische Auflistungsklasse »List<T>«

8.7 Eigene Auflistungen mit »yield« durchlaufen

Galileo Computing

9 Fehlerbehandlung und Debugging

9.1 Die Behandlung von Laufzeitfehlern

9.1.1 Laufzeitfehler erkennen
9.1.2 Die Behandlung von Exceptions
9.1.3 Die »try...catch«-Anweisung
9.1.4 Behandlung mehrerer Exceptions
9.1.5 Die »finally«-Anweisung
9.1.6 Das Weiterleiten von Ausnahmen
9.1.7 Die Hierarchie der Exceptions
9.1.8 Die Reihenfolge der »catch«-Klauseln
9.1.9 Die Basisklasse »Exception«
9.1.10 Benutzerdefinierte Ausnahmen

9.2 Debuggen mit Programmcode

9.2.1 Einführung
9.2.2 Die Klasse »Debug«
9.2.3 Die Klasse »Trace«
9.2.4 Ablaufverfolgung mit »TraceListener«-Objekten
9.2.5 Steuerung der Protokollierung mit Schaltern
9.2.6 Bedingte Kompilierung

9.3 Debuggen mit Visual Studio 2010

9.3.1 Debuggen im Haltemodus
9.3.2 Das Direktfenster
9.3.3 Weitere Alternativen, um Variableninhalte zu prüfen
Galileo Computing

10 LINQ to Objects

10.1 Einführung in LINQ

10.1.1 Grundlagen der LINQ-Erweiterungsmethoden
10.1.2 Verzögerte Ausführung

10.2 LINQ to Objects

10.2.1 Musterdaten
10.2.2 Allgemeine Syntax
10.2.3 Übersicht über die Abfrageoperatoren
10.2.4 Die »from«-Klausel
10.2.5 Der Restriktionsoperator »where«
10.2.6 Projektionsoperatoren
10.2.7 Sortieroperatoren
10.2.8 Gruppieren mit »GroupBy«
10.2.9 Verknüpfungen mit »Join«
10.2.10 Die Set-Operatoren-Familie
10.2.11 Die Familie der Aggregatoperatoren
10.2.12 Generierungsoperatoren
10.2.13 Quantifizierungsoperatoren
10.2.14 Aufteilungsoperatoren
10.2.15 Elementoperatoren
Galileo Computing

11 Multithreading und die Task Parallel Library (TPL)

11.1 Überblick

11.2 Multithreading mit der Klasse »Thread«

11.2.1 Einführung in das Multithreading
11.2.2 Threadzustände und Prioritäten
11.2.3 Zusammenspiel mehrerer Threads
11.2.4 Die Entwicklung einer einfachen Multithreading-Anwendung
11.2.5 Die Klasse »Thread«
11.2.6 Threadpools nutzen
11.2.7 Synchronisation von Threads
11.2.8 Der Monitor zur Synchronisation
11.2.9 Das Synchronisationsobjekt »Mutex«
11.2.10 Das Attribut »MethodImpl«
11.2.11 Grundlagen asynchroner Methodenaufrufe
11.2.12 Asynchroner Methodenaufruf
11.2.13 Asynchroner Aufruf mit Rückgabewerten
11.2.14 Eine Klasse mit asynchronen Methodenaufrufen

11.3 Die TPL (Task Parallel Library)

11.3.1 Allgemeines zur Parallelisierung mit der TPL
11.3.2 Die Klasse »Parallel«
11.3.3 Die Klasse »Task«
Galileo Computing

12 Arbeiten mit Dateien und Streams

12.1 Namespaces der Ein- bzw. Ausgabe

12.1.1 Das Behandeln von Ausnahmen bei E/A-Operationen

12.2 Laufwerke, Verzeichnisse und Dateien

12.2.1 Die Klasse »File«
12.2.2 Die Klasse »FileInfo«
12.2.3 Die Klassen »Directory« und »DirectoryInfo«
12.2.4 Die Klasse »Path«
12.2.5 Die Klasse »DriveInfo«
12.2.6 Die Klasse »SpecialDirectories«

12.3 Die »Stream«-Klassen

12.3.1 Die abstrakte Klasse »Stream«
12.3.2 Die von »Stream« abgeleiteten Klassen im Überblick
12.3.3 Die Klasse »FileStream«

12.4 Die Klassen »TextReader« und »TextWriter«

12.4.1 Die Klasse »StreamWriter«
12.4.2 Die Klasse »StreamReader«

12.5 Die Klassen »BinaryReader« und »BinaryWriter«

12.5.1 Komplexe binäre Dateien
Galileo Computing

13 Binäre Serialisierung

13.1 Serialisierungsverfahren

13.2 Serialisierung mit »BinaryFormatter«

Galileo Computing

14 Einige wichtige .NET-Klassen

14.1 Die Klasse »Object«

14.1.1 Referenzvergleiche mit »Equals« und »ReferenceEquals«
14.1.2 »ToString« und »GetType«
14.1.3 Die Methode »MemberwiseClone«

14.2 Die Klasse »String«

14.2.1 Erzeugen eines Strings
14.2.2 Eigenschaften von »String«
14.2.3 Methoden der Klasse »String«
14.2.4 Zusammenfassung der Klasse »String«

14.3 Die Klasse »StringBuilder«

14.3.1 Allgemeines
14.3.2 Kapazität eines »StringBuilder«-Objekts
14.3.3 Konstruktoren der Klasse »StringBuilder«
14.3.4 Eigenschaften der Klasse »StringBuilder«
14.3.5 Die Methoden der Klasse »StringBuilder«
14.3.6 Allgemeine Anmerkungen

14.4 Der Typ »DateTime«

14.4.1 Zeitspanne »Tick«
14.4.2 Konstruktoren von »DateTime«
14.4.3 Eigenschaften von »DateTime«
14.4.4 Methoden der Klasse »DateTime«

14.5 Die Klasse »TimeSpan«

14.6 Ausgabeformatierung

14.6.1 Formatierung mit der Methode »String.Format«
14.6.2 Formatierung mit der Methode »ToString«
14.6.3 Benutzerdefinierte Formatierung
Galileo Computing

15 Projektmanagement und Visual Studio 2010

15.1 Der Projekttyp »Klassenbibliothek«

15.1.1 Mehrere Projekte in einer Projektmappe verwalten
15.1.2 Die Zugriffsmodifizierer »public« und »internal«
15.1.3 Friend-Assemblys
15.1.4 Einbinden einer Klassenbibliothek

15.2 Assemblys

15.2.1 Konzept der Assemblys
15.2.2 Allgemeine Beschreibung privater und globaler Assemblys
15.2.3 Struktur einer Assembly
15.2.4 Globale Assemblys

15.3 Konfigurationsdateien

15.3.1 Einführung
15.3.2 Die verschiedenen Konfigurationsdateien
15.3.3 Struktur einer Anwendungskonfigurationsdatei
15.3.4 Anwendungskonfigurationsdatei mit Visual Studio 2010 bereitstellen
15.3.5 Einträge der Anwendungskonfigurationsdatei auswerten
15.3.6 Editierbare, anwendungsbezogene Einträge mit <appSettings>

15.4 Versionsumleitung in einer Konfigurationsdatei

15.4.1 Herausgeberrichtliniendatei

15.5 XML-Dokumentation

15.5.1 Prinzip der XML-Dokumentation
15.5.2 XML-Kommentar-Tags
15.5.3 Generieren der XML-Dokumentationsdatei

15.6 Der Klassendesigner (Class Designer)

15.6.1 Ein typisches Klassendiagramm
15.6.2 Hinzufügen und Ansicht von Klassendiagrammen
15.6.3 Die Toolbox des Klassendesigners
15.6.4 Das Fenster »Klassendetails«
15.6.5 Klassendiagramme als Bilder exportieren

15.7 Refactoring

15.7.1 Methode extrahieren
15.7.2 Bezeichner umbenennen
15.7.3 Felder einkapseln

15.8 Code Snippets (Codeausschnitte)

15.8.1 Codeausschnitte einfügen
15.8.2 Anatomie eines Codeausschnitts
Galileo Computing

16 XML

16.1 XML-Dokumente

16.1.1 Wohlgeformte und gültige XML-Dokumente
16.1.2 Regeln für wohlgeformten XML-Code
16.1.3 Kommentare
16.1.4 Verarbeitungsanweisungen
16.1.5 Reservierte Zeichen in XML
16.1.6 CDATA-Abschnitte
16.1.7 Namensräume (Namespaces)

16.2 Gültigkeit eines XML-Dokuments

16.2.1 XML Schema (XSD)
16.2.2 XML-Dokument mit einem XML Schema verknüpfen
16.2.3 Struktur eines XML Schemas

16.3 Die Klasse »XmlReader«

16.3.1 XML-Dokumente mit einem »XmlReader«-Objekt lesen
16.3.2 Validieren eines XML-Dokuments

16.4 Eigenschaften und Methoden der Klasse »XmlReader«

16.4.1 Navigation mit dem »XmlReader«
16.4.2 Eigenschaften und Methoden im Zusammenhang mit Attributen
16.4.3 Eigenschaften und Methoden im Zusammenhang mit Namespaces
16.4.4 Daten lesen

16.5 Die Klasse »XmlWriter«

16.5.1 Die Methoden der Klasse »XmlWriter«

16.6 Navigation durch XML (XPath)

16.6.1 Die Klasse »XPathNavigator«
16.6.2 XPath-Ausdrücke
16.6.3 Kontextknoten
16.6.4 Beispiele mit XPath-Ausdrücken
16.6.5 Knotenmengen mit der »Select«-Methode
16.6.6 Auswerten von XPath-Ausdrücken

16.7 Document Object Model (DOM)

16.7.1 Allgemeines
16.7.2 Arbeiten mit XmlDocument
16.7.3 XmlDocument und XPathNavigator
16.7.4 Die Klasse »XmlNode« (Operationen mit Knoten)
16.7.5 XML-Struktur manipulieren
16.7.6 Knoten ändern
16.7.7 Löschen in einem XML-Dokument

16.8 Serialisierung mit »XmlSerializer«

16.8.1 XML-Serialisierung mit Attributen steuern

16.9 LINQ to XML

16.9.1 Klassenhierarchie von LINQ to XML
16.9.2 Die Klasse »XElement«
16.9.3 Die Klasse »XDocument«
16.9.4 Navigation im XML-Dokument
16.9.5 Änderungen am XML-Dokument vornehmen
Galileo Computing

17 WPF – Die Grundlagen

17.1 Merkmale einer WPF-Anwendung

17.2 Anwendungstypen

17.3 Eine WPF-Anwendung und ihre Dateien

17.3.1 Die Datei »App.xaml«
17.3.2 Die Datei »App.xaml.cs«
17.3.3 Die Dateien ».baml« und ».g.cs«

17.4 Einführung in XAML

17.4.1 Struktur einer XAML-Datei
17.4.2 XAML-Elemente
17.4.3 Eigenschaften eines XAML-Elements festlegen
17.4.4 Typkonvertierung
17.4.5 Markup-Erweiterungen (Markup Extensions)
17.4.6 Namespaces
17.4.7 XAML-Spracherweiterungen
17.4.8 Markup-Erweiterungen

17.5 Abhängige und angehängte Eigenschaften

17.5.1 Abhängige Eigenschaften
17.5.2 Angehängte Eigenschaften

17.6 Logischer und visueller Elementbaum

17.6.1 Warum wird zwischen den Elementbäumen unterschieden?
17.6.2 Elementbäume mit Code ermitteln

17.7 Ereignisse in der WPF

17.7.1 Allgemeine Grundlagen
17.7.2 Routed Events
Galileo Computing

18 WPF-Containerelemente

18.1 WPF-Fenster

18.1.1 Nachrichtenfenster mit »MessageBox«
18.1.2 Die Methode »MessageBox.Show«
18.1.3 Fenster vom Typ »Window«
18.1.4 Fenster vom Typ »NavigationWindow«
18.1.5 Das »Page«-Element
18.1.6 Das »Frame«-Steuerelement

18.2 Layoutcontainer

18.2.1 Gemeinsame Eigenschaften der Layoutcontainer

18.3 Canvas

18.4 StackPanel

18.5 WrapPanel

18.6 DockPanel

18.7 UniformGrid

18.8 Grid

18.8.1 Struktur eines »Grid« festlegen
18.8.2 »ColumnSpan« und »RowSpan«
18.8.3 Spalten- und Zeilenbreite mit »GridSplitter« ändern

18.9 Verschachtelte Layoutcontainer

Galileo Computing

19 WPF-Steuerelemente

19.1 Hierarchie der WPF-Komponenten

19.2 Steuerelemente positionieren

19.2.1 Die Eigenschaften »Top«, »Bottom«, »Right« und »Left«
19.2.2 Außenrand mit der Eigenschaft »Margin« festlegen
19.2.3 Innenrand mit der Eigenschaft »Padding« festlegen

19.3 Allgemeine Eigenschaften der WPF-Komponenten

19.3.1 Die Eigenschaft »Content«
19.3.2 Größe einer Komponente
19.3.3 Ausrichtung einer Komponente
19.3.4 Die Eigenschaften »Padding« und »Margin«
19.3.5 Sichtbarkeit eines Steuerelements
19.3.6 Farbeinstellungen
19.3.7 Schriften

19.4 Buttons

19.4.1 Die Basisklasse »ButtonBase«
19.4.2 Das Steuerelement »Button«
19.4.3 Das Steuerelement »ToggleButton«
19.4.4 Das Steuerelement »RepeatButton«
19.4.5 Das Steuerelement »Checkbox«
19.4.6 Das Steuerelement »RadioButton«

19.5 Einfache Eingabesteuerelemente

19.5.1 Das Steuerelement »Label«
19.5.2 Das Steuerelement »TextBox«
19.5.3 Das Steuerelement »PasswordBox«
19.5.4 Das Steuerelement »TextBlock«
19.5.5 Das Steuerelement »Tooltip«

19.6 FlowDocuments

19.6.1 Allgemeine Beschreibung
19.6.2 Eigenschaften eines FlowDocuments
19.6.3 Blöcke eines FlowDocuments
19.6.4 Inline-Elemente
19.6.5 FlowDocuments mit Code erzeugen
19.6.6 Speichern und Laden von FlowDocuments

19.7 Das Element »FlowDocumentViewer«

19.7.1 Das Anzeigeelement »FlowDocumentScrollViewer«
19.7.2 Das Anzeigeelement »FlowDocumentPageViewer«
19.7.3 Das Anzeigeelement »FlowDocumentReader«

19.8 XPS-Dokumente mit »DocumentViewer«

19.8.1 Allgemeines zum XPS-Format
19.8.2 Beispielprogramm
19.8.3 Das Steuerelement »RichTextBox«

19.9 WPF-Listenelemente – ItemControls

19.9.1 Das Steuerelement »ListBox«
19.9.2 ComboBox
19.9.3 Das Steuerelement »ListView«
19.9.4 Das Steuerelement »TreeView«
19.9.5 Das Steuerelement »TabControl«
19.9.6 Menüleisten
19.9.7 Kontextmenüs
19.9.8 Symbolleisten
19.9.9 Die Statusleiste

19.10 Weitere Steuerelemente

19.10.1 Die »ProgressBar«
19.10.2 Das Steuerelement »Slider«
19.10.3 Das »GroupBox«-Steuerelement
19.10.4 Das Steuerelement »ScrollViewer«
19.10.5 Das Steuerelement »Expander«
19.10.6 Das Steuerelement »Border«
19.10.7 Die »Image«-Komponente
19.10.8 Grafik zur Laufzeit laden
Galileo Computing

20 Konzepte der WPF

20.1 Ressourcen

20.1.1 Wo logische Ressourcen definiert werden können
20.1.2 Definition logischer Ressourcen
20.1.3 Statische und dynamische Ressourcen
20.1.4 Ressourcen in Ressourcendateien
20.1.5 Suche nach einer Ressource
20.1.6 Ressourcen mit C#-Code
20.1.7 Abrufen von Systemressourcen

20.2 Styles

20.2.1 Einfache Stile
20.2.2 Typisierte Stile
20.2.3 EventSetter

20.3 Trigger

20.3.1 Eigenschaftstrigger
20.3.2 Ereignistrigger
20.3.3 Datentrigger

20.4 Templates

20.4.1 Grundlagen der Templates
20.4.2 Verfeinerung des Entwurfs
20.4.3 Definition innerhalb eines Styles
20.4.4 Den Visual Tree ermitteln

20.5 Commands

20.5.1 Vordefinierte Commands
20.5.2 Beispielanwendung
20.5.3 Commando-Ziel festlegen
20.5.4 Commands an Ereignisse binden
20.5.5 Commands programmieren
Galileo Computing

21 Datenbindung

21.1 Wichtige Klassen

21.1.1 Die Klasse »Binding«
21.1.2 Die Klasse »DataContext«

21.2 Einfache Datenbindung

21.2.1 Bindung mit Code erzeugen
21.2.2 Bindungsrichtung
21.2.3 Änderung der Datenquelle
21.2.4 Weitere Möglichkeiten im Zusammenhang mit der Datenbindung
21.2.5 Die Ereignisse »SourceUpdated« und »TargetUpdated«

21.3 Verschiedene Datenbindungsquellen

21.3.1 Bindung an einfache Objekte
21.3.2 Auflistungen binden

21.4 DataTemplates festlegen

21.4.1 Trigger

21.5 Daten konvertieren

21.5.1 Beispielprogramm
21.5.2 Mehrfachbindungen und »Converter«-Klassen

21.6 Die Klasse »ObjectDataProvider«

21.7 WPF und ADO.NET

21.7.1 Ausgabe in einer ListBox
21.7.2 Eine Tabelle im DataGrid-Steuerelement
21.7.3 WPF und LINQ to SQL
Galileo Computing

22 2D-Grafik

22.1 Shapes

22.1.1 Allgemeine Beschreibung
22.1.2 Line-Elemente
22.1.3 Ellipse- und Rectangle-Elemente
22.1.4 Polygon- und Polyline-Elemente
22.1.5 Darstellung der Linien

22.2 Path-Elemente

22.2.1 GeometryGroup
22.2.2 CombinedGeometry
22.2.3 PathGeometry

22.3 Brush-Objekte

22.3.1 SolidColorBrush
22.3.2 LinearGradientBrush
22.3.3 RadialGradientBrush
22.3.4 TileBrush
22.3.5 ImageBrush
22.3.6 VisualBrush
22.3.7 DrawingBrush
Galileo Computing

23 ADO.NET – verbindungsorientierte Objekte

23.1 Datenprovider

23.2 Verbindung zu einer Datenbank herstellen

23.2.1 Das »Connection«-Objekt
23.2.2 Verbindungszeichenfolge
23.2.3 Verbindung mit einer SQL Server-Instanz aufbauen
23.2.4 Öffnen und Schließen einer Verbindung
23.2.5 Verbindungspooling
23.2.6 Ereignisse eines »Connection«-Objekts
23.2.7 Verbindungszeichenfolgen aus einer Konfigurationsdatei abrufen
23.2.8 Verbindungen mit dem »OleDb«-Datenprovider
Galileo Computing

24 ADO.NET – Das Command-Objekt

24.1 Das »SqlCommand«-Objekt

24.1.1 Erzeugen eines »SqlCommand«-Objekts
24.1.2 Die Methode »CreateCommand« des »Connection«-Objekts
24.1.3 Ausführen des »SqlCommand«-Objekts
24.1.4 Die Eigenschaft »CommandTimeout« des »SqlCommand«-Objekts

24.2 Aktionsabfragen absetzen

24.2.1 Datensätze hinzufügen
24.2.2 Datensätze löschen
24.2.3 Datensätze ändern
24.2.4 Abfragen, die genau ein Ergebnis liefern

24.3 Das »SqlDataReader«-Objekt

24.3.1 Datensätze einlesen
24.3.2 Schließen des »SqlDataReader«-Objekts
24.3.3 MARS (Multiple Active Resultsets)
24.3.4 Batch-Abfragen mit »NextResult« durchlaufen
24.3.5 Schema eines »SqlDataReader«-Objekts untersuchen

24.4 Parametrisierte Abfragen

24.4.1 Parametrisierte Abfragen mit dem SqlClient-Datenprovider
24.4.2 Die Klasse »SqlParameter«
24.4.3 Asynchrone Abfragen
24.4.4 Gespeicherte Prozeduren (Stored Procedures)
Galileo Computing

25 ADO.NET – Der SqlDataAdapter

25.1 Was ist ein »DataAdapter«?

25.2 Konstruktoren der Klasse »DataAdapter«

25.3 Mit dem »SqlDataAdapter« arbeiten

25.3.1 Die Eigenschaft »SelectCommand«
25.3.2 Lokalen Datenspeicher mit »Fill« füllen
25.3.3 Öffnen und Schließen von Verbindungen
25.3.4 Doppelter Aufruf der »Fill«-Methode
25.3.5 Mehrere »DataAdapter«-Objekte aufrufen
25.3.6 Spalten- und der Tabellenbezeichner einer »DataTable«
25.3.7 Paging mit der »Fill«-Methode

25.4 Tabellenzuordnung mit der Klasse »TableMappings«

25.4.1 Spaltenzuordnungen in einem »DataSet«
25.4.2 Spaltenzuordnungen einer »DataTable«
25.4.3 Die Eigenschaft »MissingMappingAction« des »DataAdapter«

25.5 Das Ereignis »FillError« des »SqlDataAdapter«

Galileo Computing

26 ADO.NET – Daten im lokalen Speicher

26.1 »DataSet«-Objekte verwenden

26.1.1 »DataSet«-Objekte erzeugen
26.1.2 Anatomie einer »DataTable«
26.1.3 Zugriff auf eine Tabelle im »DataSet«
26.1.4 Zugriff auf die Ergebnisliste
26.1.5 Dateninformationen in eine XML-Datei schreiben

26.2 Gültigkeitsprüfung im »DataSet«

26.2.1 Dem »DataSet« Schema-Informationen übergeben
26.2.2 Eigenschaften einer »DataColumn«, die zur Gültigkeitsprüfung dienen
26.2.3 Die »Constraints«-Klassen einer »DataTable«
26.2.4 Schema mit Programmcode erzeugen
26.2.5 Schema-Informationen mit »SqlDataAdapter« abrufen

26.3 Änderungen in einer DataTable vornehmen

26.3.1 Editieren einer DataRow
26.3.2 Datenzeile löschen
26.3.3 Neue Datenzeile hinzufügen
26.3.4 Der Sonderfall: Autoinkrementspalten
26.3.5 Was passiert bei der Änderung einer Datenzeile?
26.3.6 Manuelles Steuern der Eigenschaft »DataRowState«

26.4 Mit mehreren Tabellen arbeiten

26.4.1 Der Weg über JOIN-Abfragen
26.4.2 Mehrere Tabellen in einem »DataSet«
26.4.3 Eine »DataRelation« erzeugen
26.4.4 »DataRelation« und Einschränkungen
26.4.5 In Beziehung stehende Daten suchen
26.4.6 Ergänzung zum Speichern von Schema-Informationen in einer XML-Schema-Datei

26.5 Filtern und Suchen in einer DataTable

26.5.1 Die Methode »Find«
26.5.2 Die Methode »Select«

26.6 Objekte vom Typ »DataView«

26.6.1 »DataView« erzeugen
26.6.2 Auf die Datenzeilen in einer »DataView« zugreifen
26.6.3 Die Eigenschaft »Sort« und die Methode »Find«
26.6.4 Die Methode »FindRows«
26.6.5 Die Eigenschaft »RowFilter«
26.6.6 Die Eigenschaft »RowStateFilter«
26.6.7 Änderungen an einem »DataView«-Objekt
26.6.8 Aus einer »DataView« eine »DataTable« erzeugen
Galileo Computing

27 ADO.NET – Aktualisieren der Datenbank

27.1 Aktualisieren mit dem »CommandBuilder«

27.1.1 Von »SqlCommandBuilder« generierte Aktualisierungsstatements
27.1.2 Konfliktsteuerung in einer Mehrbenutzerumgebung
27.1.3 Die Eigenschaft »ConflictOption« des »SqlCommandBuilder«
27.1.4 Die Eigenschaft »SetAllValues«

27.2 Manuell gesteuerte Aktualisierung

27.2.1 Eigene Aktualisierungslogik
27.2.2 Beispielprogramm

27.3 Konfliktanalyse

27.3.1 Benutzer über fehlgeschlagene Aktualisierungen informieren
27.3.2 Konfliktverursachende Datenzeilen bei der Datenbank abfragen

27.4 Neue Autoinkrementwerte abrufen

Galileo Computing

28 Stark typisierte DataSets

28.1 Stark typisierte DataSets erzeugen

28.1.1 Typisierte DataSets mit dem Visual Studio Designer erstellen
28.1.2 Das Kommandozeilentool »XSD.exe«

28.2 Anatomie eines typisierten DataSet

28.2.1 Datenzeilen einer Tabelle ausgeben
28.2.2 Datenzeilen hinzufügen
28.2.3 Datenzeilen bearbeiten
28.2.4 Datenzeilen suchen
28.2.5 NULL-Werte im typisierten DataSet
28.2.6 Daten in einem hierarchischen DataSet

28.3 Typisierte DataSets manuell im Designer erzeugen

28.3.1 DataTable manuell erzeugen
28.3.2 Der DataTable Spalten hinzufügen
28.3.3 Beziehungen zwischen den Tabellen erstellen
28.3.4 Weitergehende Betrachtungen

28.4 Der TableAdapter

28.4.1 TableAdapter mit Visual Studio erzeugen
28.4.2 Die Methode »Fill« des TableAdapters
28.4.3 Die Methode »GetData«
28.4.4 Die Methode »Update«
28.4.5 Aktualisieren mit den »DBDirect«-Methoden
28.4.6 TableAdapter mit mehreren Abfragen
28.4.7 Änderungen an einem TableAdapter vornehmen

28.5 Fazit: Typisierte oder nicht typisierte DataSets?

Galileo Computing

29 LINQ to SQL

29.1 Allgemeine Grundlagen

29.2 Objektzuordnung mit Entitätsklassen

29.3 Mapping von Objekten

29.3.1 Das »Table«-Attribut
29.3.2 Das »Column«-Attribut

29.4 Verknüpfungen zwischen Entitäten

29.4.1 Der Typ »EntityRef<T>«
29.4.2 Verzögertes Laden
29.4.3 Der Typ »EntitySet<T>«
29.4.4 Ein weiteres Beispiel
29.4.5 Sofortiges Laden der Daten

29.5 Tools zur Erzeugung von Entitätsklassen

29.6 Die Klasse »DataContext«

29.6.1 Verbindungsaufbau
29.6.2 Daten abfragen
29.6.3 Von einer LINQ-Abfrage erzeugtes SQL-Statement ausgeben
29.6.4 Aktualisieren der Daten
29.6.5 Konflikte behandeln

29.7 Der LINQ to SQL-Designer (O/R-Designer)

29.7.1 Handhabung des O/R-Designers
29.7.2 Die abgeleitete »DataContext«-Klasse
29.7.3 Entitätsklassen
Galileo Computing

30 Weitergabe von Anwendungen

30.1 Weitergabe mit MS-Installer

30.1.1 Weitergabeprojekte
30.1.2 Der Windows Installer
30.1.3 Weitergabeprojekte mit dem Setup-Assistenten
30.1.4 Editoren eines Weitergabeprojekts
30.1.5 Der Dateisystem-Editor
30.1.6 Der Registrierungs-Editor
30.1.7 Der Dateityp-Editor
30.1.8 Der Benutzeroberflächen-Editor
30.1.9 Editor für benutzerdefinierte Aktionen
30.1.10 Editor für Startbedingungen

30.2 ClickOnce-Verteilung

30.2.1 Allgemeine Beschreibung
30.2.2 Erstellen einer ClickOnce-Anwendung
30.2.3 Installation einer ClickOnce-Anwendung


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2010






 Professionell
 entwickeln mit
 Visual C# 2010


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Einstieg in WPF






 Einstieg in WPF


Zum Katalog: Einstieg in Visual C# 2010






 Einstieg in
 Visual C# 2010


Zum Katalog: Visual C# 2010 - Videotraining






 Visual C# 2010 -
 Videotraining


Zum Katalog: UML 2






 UML 2


Zum Katalog: Einstieg in XML






 Einstieg in XML


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2010
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de