Book description
Dieses Standardwerk aus der beliebten „von Kopf bis Fuß“-Reihe nimmt den Leser auf eine Erlebnistour durch C#, bei der sowohl seine beiden Gehirnhälften als auch seine Lachmuskeln stimuliert werden. C# von Kopf bis Fuß ist ein unterhaltsames und visuell ansprechendes Arbeitsbuch für die objektorientierte Programmierung mit C# und der Visual Studio IDE. In der 3. Auflage deckt es C# 5 und das .NET Framework 4.5 ab. Behandelt werden alle zentralen Themen, von den Sprachgrundlagen bis zur Garbage Collection, den Erweiterungsmethoden und Animationen mit Double-Buffering. Der Leser lernt außerdem, wie er die Syntax von C# und die Abfrage von Datenquellen mit LINQ meistert. Neu aufgenommen wurden zwei Kapitel zur App-Programmierung; u.a. wird exemplarisch eine Windows Phone App entwickelt. Wer dieses Buch durchgearbeitet hat, ist ein kompetenter C#-Programmierer, der umfangreiche Anwendungen entwerfen und programmieren kann.
Table of contents
- C# von Kopf bis Fuß
- Hingabe
- Autoren
- Andere Bücher über O'Reilly
-
Wie man dieses Buch benutzt: Einführung
- Für wen ist dieses Buch?
- Wir wissen, was Sie gerade denken.
- Und wir wissen, was Ihr Gehirn gerade denkt.
- Metakognition: Nachdenken übers Denken
- Das haben WIR getan:
- Und das können SIE tun, um sich Ihr Gehirn untertan zu machen
- Was Sie für dieses Buch brauchen
- Lies mich
- Die Fachgutachter
- Danksagungen
-
1. Erste Schritte mit C#: Apps im Handumdrehen
- Warum Sie C# lernen sollten
- C# und die Visual Studio IDE erleichtern Ihnen eine Menge Dinge
- Was Sie in Visual Studio tun ...
- Was Visual Studio für Sie tut ...
- Angriff aus dem All!
- Nur Sie können die Erde retten
- Das werden Sie erstellen
- Beginnen wir mit einer leeren Anwendung
- Das Grid für Ihre Seite anpassen
- Dem Grid Steuerelemente hinzufügen
- Das Aussehen über Eigenschaften ändern
- Steuerelemente machen das Spiel funktionsfähig
- Sie haben die Bühne für das Spiel vorbereitet
- Was Sie als Nächstes tun werden
- Eine Methode, die etwas macht
- Den Code für Ihre Methode einfügen
- Letzte Schritte und erste Ausführung
- Das haben Sie bislang getan
- Den Spielablauf mit Timern steuern
- Den Start-Button funktionsfähig machen
- Führen Sie das Programm erneut aus
- Fügen Sie Code ein, damit die Controls mit dem Spieler interagieren können
- Wenn Sie Menschen auf Feinde ziehen, endet das Spiel
- Jetzt ist das Spiel einsatzbereit
- Die Feinde zu Aliens machen
- Splashscreen und Kachel
- Die App veröffentlichen
- Nutzen Sie den Remote Debugger, um Ihre App auf einem anderen Rechner zu installieren
- Das Remote-Debugging starten
-
2. Es ist alles bloß Code: Unter der Motorhaube
- Wenn Sie das tun ...
- ... macht die IDE das
- Wo Ihre Programme herkommen
- Die IDE hilft Ihnen beim Programmieren
- Anatomie eines Programms
- Zwei Klassen können im gleichen Namensraum sein
- Ihre Programme nutzen Variablen, um mit Daten zu arbeiten
- C# nutzt vertraute mathematische Symbole
- Mit dem Debugger Variablen beobachten
- Mit Schleifen Aktionen wiederholen
- if/else-Anweisungen fällen Entscheidungen
- Eine App von null an aufbauen
- Die Buttons etwas tun lassen
- Bedingungen aufstellen und prüfen
- Windows Desktop-Apps lassen sich leicht erstellen
- Die App für Windows Desktop neu erstellen
- Ihre Desktop-App weiß, wo sie anfangen muss
- Sie können den Einstiegspunkt Ihres Programms ändern
- Wenn Sie Dinge in der IDE ändern, ändern Sie auch Ihren Code
-
3. Objekte: Orientieren Sie sich!: Aufgabenspezifischer Code
- Wie Mark über sein Problem nachdenkt
- Wie Marks Navi über das Problem nachdenkt
- Die Methoden von Marks Navigator-Klasse
- Nutzen Sie das Gelernte, um eine einfache Anwendung zu erstellen
- Was wir damit erreicht haben
- Mark hat eine Idee
- Mark kann sein Problem mit Objekten lösen
- Sie nutzen eine Klasse, um ein Objekt zu erstellen
- Wenn Sie ein neues Objekt einer Klasse erstellen, bezeichnet man dieses als Instanz der Klasse
- Eine bessere Lösung ... dank Objekten!
- Eine Instanz nutzt Felder, um Dinge festzuhalten
- Erstellen wir mal ein paar Instanzen!
- Objekte auf dem Speicher
- Was Ihr Programm im Kopf hat
- Sie können Klassen- und Methodennamen verwenden, um Ihren Code intuitiv zu machen
- Geben Sie Ihren Klassen eine natürliche Struktur
- Klassendiagramme helfen Ihnen, Ihre Klassen auf sinnvolle Weise zu organisieren
- Eine Klasse für die Arbeit mit ein paar Typen erstellen
- Ein Projekt für die Jungs erstellen
- Erstellen Sie ein Formular zur Interaktion mit den Jungs
- Die Objektinitialisierung kann noch einfacher sein
- Ein paar Ideen zum Entwurf intuitiver Klassen
- Objekt-Kreuzworträtsel
- Objekt-Kreuzworträtsel, Lösung
-
4. Typen und Referenzen: Es ist 10:00. Wissen Sie, wo Ihre Daten sind?
- Der Typ einer Variablen bestimmt, welche Art Daten sie speichern kann
- Eine Variable ist wie ein Daten-to-go-Becher
- 10 Kilo Daten in einem 5-Kilo-Sack
- Auch eine Zahl der richtigen Größe können Sie nicht einfach irgendeiner Variablen zuweisen
- Wandeln Sie einen zu großen Wert um, passt C# ihn automatisch an
- Einige Umwandlungen macht C# automatisch
- Beim Aufruf einer Methode müssen die Variablen den Typen der Parameter entsprechen
- Den Kilometerrechner debuggen
- Einen Operator mit = kombinieren
- Auch für Objekte braucht man Variablen
- Mit Referenzvariablen auf Objekte ver weisen
- Referenzen sind wie Etiketten für Ihr Objekt
- Gibt es keine Referenzen mehr, holt die Müllabfuhr Ihr Objekt
- Typ-Kreuzworträtsel
- Mehrere Referenzen und ihre Nebenwirkungen
- Zwei Referenzen bedeuten ZWEI Möglichkeiten, die Daten eines Objekts zu ändern
- Ein Sonderfall: Arrays
- Arrays können auch einen Haufen Referenzvariablen speichern
- Willkommen beim Sandwich-Discount vom Strammen Max
- Objekte nutzen Referenzen, um zu kommunizieren
- Wohin noch kein Objekt gekommen ist
- Erstellen Sie ein Tippspiel
- Steuerelemente sind ganz gewöhnliche Objekte
- Typ-Kreuzworträtsel, Lösung
-
I. C#-Workshop: Ein Tag beim Rennen
-
5. Kapselung: Alles zu zeigen, ist nicht immer richtig
- Kathrin ist Event-Managerin
- Was der Kostenrechner macht
- Sie werden ein Programm für Kathrin erstellen
- Kathrins Te stlauf
- Jede Option sollte einzeln berechnet werden
- Objekte werden leicht unabsichtlich missbraucht
- Kapselung bedeutet, dass man einige Daten in einer Klasse privat hält
- Nutzen Sie Kapselung, um den Zugriff auf die Methoden und Felder Ihrer Klassen zu steuern
- Aber ist das Feld WahrerName WIRKLICH geschützt?
- Auf private Felder und Methoden kann nur aus der Klasse selbst heraus zugegriffen werden
- Kapselung hält Ihre Daten rein
- Eigenschaf ten vereinfachen die Kapselung
- Eine Anwendung zum Testen der Klasse Bauer erstellen
- Automatische Eigenschaften
- Was ist, wenn wir den FutterMultiplikator ändern möchten?
- Initialisieren Sie private Felder mit einem Konstruktor
-
6. Vererbung: Der Stammbaum Ihres Objekts
- Kathrin plant auch Geburtstagsfeiern
- Wir brauchen eine Geburtstagsfeier-Klasse
- Party-Planer 2.0
- Eine Sache noch ... können Sie eine Gebühr von 100 € für Partys mit mehr als 12 Personen hinzufügen?
- Nutzen Ihre Klassen Vererbung, müssen Sie Ihren Code nur einmal schreiben
- Erstellen Sie Ihr Klassenmodell, indem Sie allgemein beginnen und immer spezifischer werden
- Wie würden Sie einen Zoo-Simulator ent werfen?
- Nutzen Sie Vererbung, um doppelten Code in Unterklassen zu vermeiden
- Unterschiedliche Tiere machen unterschiedliche Geräusche
- Denken Sie daran, wie die Tiere gruppiert sind
- Die Klassenhierarchie erstellen
- Jede Unterklasse er weitert Ihre Basisklasse
- Erweiterungen geben Sie mit einem Doppelpunkt an
- Wir wissen, dass Vererbung die Felder, Eigenschaften und Methoden der Basisklasse den Unterklassen hinzufügt ...
- Eine Unterklasse kann Methoden überschreiben, um geerbte Methoden zu ändern oder zu ersetzen
- Überall dort, wo Sie die Basisklasse verwenden können, können Sie stat tdessen ein Unterklasse verwenden
- Unterklassen können Oberklassenmethoden ausblenden
- Nutzen Sie override und virtual, um Verhalten zu ändern
- Basisklassenzugriff über das Schlüsselwort base
- Hat die Basisklasse einen Konstruktor, braucht ihn die Unterklasse auch
- Jetzt können Sie die Arbeit für Kathrin abschließen!
- Bauen Sie eine Bienenstockver waltung
- Wie Sie die Bienenstockver waltung aufbauen werden
- Vererbungs-Kreuzworträtsel
- Er weitern Sie die Bienenver waltung mit Vererbung
- Vererbungs-Kreuzworträtsel, Lösung
-
7. Schnittstellen und abstrakte Klassen: Klassen, die Versprechen halten
- Kehren wir zu den Bienen zurück
- Mit Vererbung können wir Klassen für die unterschiedlichen Arten von Bienen erstellen
- Eine Schnittstelle sagt einer Klasse, dass sie bestimmte Methoden und Eigenschaften implementieren muss
- Schnittstellen definieren Sie mit dem Schlüsselwort interface
- NektarWache macht beides
- Klassen, die Schnittstellen implementieren, müssen ALLE Methoden der Schnittstelle einschließen
- Sammeln Sie Erfahrung im Umgang mit Schnittstellen
- Eine Schnittstelle können Sie nicht instantiieren, aber Sie können sie referenzieren
- Schnittstellenreferenzen funktionieren wie Objektreferenzen
- Mit »is« können Sie ermitteln, ob eine Klasse eine bestimmte Schnittstelle implementiert
- Eine Schnittstelle kann von einer anderen erben
- Eine RoboBiene kann die Arbeit von Arbeiterinnen erledigen und braucht keinen Honig
- is sagt, welchen Typ Ihr Objekt hat, as sagt dem Compiler, wie er es behandeln soll
- Eine KaffeeMaschine ist auch ein Gerät
- Umwandeln funktioniert mit Objekten und Schnittstellen
- Mit Downcasting können Sie Ihr Gerät wieder zu einer Kaffeemaschine machen
- Upcasting und Downcasting funktionieren auch mit Schnittstellen
- Es gibt nicht nur public und private
- Zugriffsmodifizierer ändern die Sichtbarkeit
- Manche Klassen sollten nicht instantiiert werden
- Eine abstrakte Klasse ist vergleichbar mit einer Kreuzung aus normaler Klasse und Schnittstelle
- Manche Klassen sollten nicht instantiiert werden
- Eine abstrakte Methode hat keinen Rumpf
- Kamingespräche
- Polymorphie bedeutet, dass ein Objekt viele verschiedene Formen annehmen kann
- Objekt-Kreuzworträtsel
- Objekt-Kreuzworträtsel, Lösung
-
8. Enums und Auflistungen: Daten in Massen speichern
- Gelegentlich sind Strings nicht gut genug, wenn es darum geht, Kategorien von Daten zu speichern
- Mit Enumerationen können Sie erlaubte Werte aufzählen
- Mit Enums können Zahlen über Namen repräsentiert werden
- Wir könnten einen Kartenstapel über ein Array repräsentieren
- Die Arbeit mit Arrays ist nicht immer einfach
- Listen erleichtern das Speichern von Sammlungen ... jeder Art
- Listen sind flexibler als Arrays
- Listen schrumpfen und wachsen dynamisch
- Generische Auflistungen können beliebige Typen speichern
- Auflistungsinitialisierer funktionieren wie Objektinitialisierer
- Erstellen wir eine Liste mit Enten
- Listen sind leicht, aber SORTIEREN kann verzwickt sein
- Enten sortieren mit IComparable<Ente>
- Mit IComparer sagen Sie Ihren Listen, wie sie sortieren sollen
- Erstellen Sie eine Instanz Ihrer Comparer-Klasse
- Komplexe IComparer
- Die ToString()-Methode von Objekten überschreiben
- foreach aktualisieren, damit sich Enten und Karten selbst darstellen
- Über IEnumerable ganze Listen upcasten
- Auch Sie können Methoden überladen
- Schlüssel und Werte speichern Sie in Wörterbüchern
- Die Dictionary-Funktionalität im Überblick
- Ein Programm mit einem Wörterbuch erstellen
- Noch MEHR Auflistungstypen ...
- Eine Queue ist FIFO – First-in-First-out
- Ein Stack ist LIFO – Last-in-First-out
- Auflistungskreuzworträtsel
- Auflistungskreuzworträtsel, Lösung
-
9. Dateien lesen und schreiben: Speichere das Array, rette die Welt
- C# nutzt Streams, um Daten zu lesen und zu schreiben
- Verschiedene Streams lesen und schreiben verschiedene Dinge
- Ein FileStream schreibt Bytes in eine Datei
- Wie man Daten in eine Textdatei schreibt
- Der teuflische Plan des Fieslings
- Lesen und Schreiben mit zwei Objekten
- Daten können durch mehrere Streams laufen
- Öffnen Sie mit eingebauten Objekten Standarddialoge
- Dialoge sind einfach ein weiteres .NET-Steuerelement
- Dialoge sind auch Objekte
- Mit den eingebauten Klassen File und Directory können Sie mit Dateien und Verzeichnissen arbeiten
- Dateien mit vorgefertigten Dialogen öffnen und speichern
- IDisposable sorgt dafür, dass Ihre Objekte entsorgt werden
- Vermeiden Sie Dateisystemfehler mit using-Anweisungen
- Ärger im Büro
- Beim Schreiben von Dateien muss man in der Regel viele Entscheidungen treffen
- Wählen Sie Ihre Optionen mit einer switch-Anweisung
- Schreiben und lesen Sie mit switch Ihre Spielkarten in eine bzw. aus einer Datei
- Ein überladener Kartenstapel()-Konstruktor, der einen Kartenstapel aus einer Datei einliest
- Was bei der Serialisierung eines Objekts passiert
- Aber was genau IST der Zustand eines Objekts? Was muss gespeichert werden?
- Wird ein Objekt serialisiert, werden die Objekte, die es referenziert, ebenfalls serialisiert ...
- Mit Serialisierung können Sie ein ganzes Objekt auf einmal lesen oder schreiben
- Soll eine Klasse serialisierbar sein, müssen Sie sie mit dem Attribut [Serializable] markieren
- Serialisieren und deserialisieren wir einen Kartenstapel
- .NET speichert Text in Unicode
- Mit byte-Arrays können Daten verschoben werden
- Binäre Daten schreiben Sie mit einem BinaryWriter
- Sie können serialisierte Dateien auch manuell lesen und schreiben
- Die Dateien an den Punkten ändern, an denen sie sich unterscheiden
- Die Arbeit mit Binärdateien kann kompliziert sein
- Mit Datei-Streams ein Hex-Dump-Programm erstellen
- StreamReader und StreamWriter reichen vollkommen aus
- Mit Stream.Read() Bytes aus einem Stream lesen
- Datei-Kreuzworträtsel
- Datei-Kreuzworträtsel, Lösung
-
5. Kapselung: Alles zu zeigen, ist nicht immer richtig
-
II. C#-Workshop: Die Suche
-
10. Windows Store-Apps mit XAML: Ihre Apps auf die nächste Stufe bringen
- Brian nutzt Windows 8
- Windows Forms nutzen einen Objektgraphen
- Den Objektgraphen mit der IDE erforschen
- Windows Store-Apps erstellen UI-Objekte mit XAML
- Ver wandeln Sie Go Fish! in eine Windows Store-App
- Das Seitenlayout setzt auf den Steuerelementen auf
- Zeilen und Spalten können sich an die Seitengröße anpassen
- App-Seiten mit dem Grid-System gestalten
- Datenbindung verbindet Ihre XAML-Seiten mit Ihren Klassen
- XAML-Steuerelemente können vieles enthalten
- Datenbindung für den Strammen Max
- Mit statischen Ressourcen Objekte im XAML deklarieren
- Objekte mit einer Datenvorlage anzeigen
- INotifyPropertyChanged benachrichtigt gebundene Objekte
- Lassen Sie MenüMacher Änderungen des Erstellungsdatums melden
-
11. Async, Await und Datenkontraktserialisierung: Entschuldigen Sie die Unterbrechung
- Brian hat Dateiprobleme
- Windows Store-Apps nutzen await
- Dateien schreiben und lesen Sie mit der Klasse FileIO
- Ein etwas komplexerer Texteditor
- Ein Datenkontrakt ist eine abstrakte Definition der Daten Ihres Objekts
- Dateien mit asynchronen Methoden suchen und öffnen
- KnownFolders hilft Ihnen beim Zugriff auf wichtige Ordner
- Der gesamte Objektgraph wird in XML serialisiert
- Schreiben Sie Typ-Objekte in den lokalen Ordner Ihrer App
- Den Typ-Serialisierer testen
- Mit einem Task eine asynchrone Methode aus einer anderen heraus aufrufen
- Erstellen Sie Brian eine neue Ausredeverwaltung
- Seite, Ausrede und Manager trennen
- Die Hauptseite für die Ausredeverwaltung
- Der Hauptseite eine App-Leiste hinzufügen
- Die Klasse Ausredeverwaltung
- Der Unterstützungscode für die Seite
-
12. Exception-Handling: Fehler-Prävention
- Brians Ausreden müssen mobil werden
- Löst Ihr Programm eine Exception aus, erzeugt .NET ein Exception-Objekt
- Brians Code machte etwas Uner wartetes
- Alle Exception-Objekte erben von Exception
- Der Debugger hilf t Ihnen, Exceptions in Ihrem Code aufzuspüren und zu verhindern
- Nehmen Sie den Debugger, um herauszufinden, was genau das Problem in der Ausredeverwaltung ist
- Mist, der Code hat immer noch Probleme ...
- Exceptions mit try und catch behandeln
- Folgen Sie try/catch mit dem Debugger
- Nutzen Sie finally, wenn Sie Code haben, der IMMER ausgeführt werden soll
- Nutzen Sie das Exception-Objekt, um Informationen zum Problem zu erhalten
- Mehrere Typen von Exceptions mit mehreren Catch-Blöcken abfangen
- Eine Klasse löst eine Exception aus, eine andere fängt sie ab
- Bienen brauchen eine HonigLeerException
- Ein einfaches Mittel, um viele Probleme zu vermeiden: using gibt Ihnen try und finally kostenlos
- Exception-Vorsorge: Implementieren Sie IDisposable für eigene Aufräumarbeiten
- Der SCHLIMMSTE catch-Block: Kommentare
- Vorübergehende Lösungen sind okay (vorübergehend)
- Einige einfache Gedanken zum Exception-Handling
- finally verschaff t Brian seinen Urlaub ...
-
13. Captain Amazing Der Tod Des Objekts
- Ihre letzte Chance, etwas zu TUN ... der Finalisierer Ihres Objekts
- Wann GENAU läuft ein Finalisierer?
- Dispose() arbeitet mit using, Finalisierer mit der Garbage Collection
- Finalisierer dürfen nicht von der Stabilität abhängen
- Lassen Sie ein Objekt sich selbst in Dispose() serialisieren
- Ein Struct sieht aus wie ein Objekt ...
- ... ist aber nicht auf dem Heap
- Werte werden kopiert, Referenzen werden zugewiesen
- Structs sind Werttypen, Objekte sind Referenztypen
- Stack vs. Heap: mehr zum Speicher
- Mit Parametern Methoden mehrere Werte liefern lassen
- Mit dem Modifizierer ref Referenzen übergeben
- Mit optionalen Parametern Standardwerte setzen
- Nullbare Typen vertreten nicht existierende Werte
- Nullbare Typen machen Programme robuster
- Captain Amazing ... nicht ganz
- Er weiterungsmethoden fügen BESTEHENDEN Klassen neue Verhalten hinzu
- Einen elementaren Typ erweitern: string
-
14. Datenabfrage und App-Bau mit LINQ: Bekommen Sie Ihre Daten in den Griff
- Tim ist der größte Captain-Amazing-Fan ...
- ... aber seine Sammlung ist ein einziges Chaos
- LINQ kann Daten aus vielen Quellen ziehen
- .NET-Auflistungen sind bereits für LINQ eingerichtet
- LINQ vereinfacht Abfragen
- LINQ ist einfach, Ihre Abfragen sind das nicht immer
- Tim könnte unsere Hilfe gebrauchen
- Bauen Sie Tims App auf
- Mit dem Schlüsselwort new anonyme Typen erstellen
- LINQ ist vielseitig
- Neue Abfragen für Tims App
- LINQ kann Ergebnisse zu Gruppen zusammenfassen
- Tims Werte gruppieren
- Zwei Auflistungen in einer Abfrage mit join kombinieren
- Tim hat eine Menge Kohle gespart
- Daten mit semantischem Zoom navigieren
- Geben Sie Tims App semantischen Zoom
- Sie haben Tim große Freude bereitet
- Die Split App-Vorlage der IDE vereinfacht den Aufbau von Apps, die sich um die Navigation durch Daten drehen
-
15. Events und Delegates: Was Ihr Code macht, wenn Sie nicht gucken
- Möchten auch Sie, dass Ihre Objekte für sich selbst denken?
- Aber woher weiß ein Objekt, dass es reagieren soll?
- Wenn Events eintreten ... lauschen Objekte
- Ein Objekt setzt ein Event ab, andere lauschen darauf ...
- Dann behandeln andere Objekte das Event
- Die Punkte verbinden
- Die IDE erzeugt Event-Handler automatisch
- Mit generischen Event-Handlern eigene Event-Typen definieren
- Windows Forms nutzen viele verschiedene Events
- Windows Store-Apps nutzen Events für die Abwicklung des Prozesslebenszyklus
- Geben Sie Tims Comics eine Lebenszyklusverwaltung
- XAML-Steuerelemente nutzen Routing-Events
- Eine App zur Erforschung von Routing-Events
- Event-Sender mit Event-Empfängern verbinden
- Ein Delegate VERTRITT die eigentliche Methode
- Delegates in Aktion
- Jedes Objekt kann ein öffentliches Event abonnieren ...
- Nutzen Sie Callbacks statt Events, um genau ein Objekt mit einem Delegate zu verbinden
- Callbacks nutzen Delegates, aber KEINE Events
- Callbacks und MessageDialog-Befehle
- Mit Delegates den Einstellungen-Charm von Windows nutzen
-
16. App-Entwurf mit dem MVVM-Muster: Tolle Apps, außen wie innen
- Die Von Kopf bis Fuß-Basketball-Liga braucht eine App
- Aber können sie sich über die Gestaltung einigen?
- Ent werfen Sie für die Datenbindung oder für die Arbeit mit Daten?
- MVVM berücksichtigt Bindung und Daten
- Mit dem MVVM-Muster die Basketball-App angehen
- Eigene Steuerelemente erstellen
- Der Schiri braucht eine Stoppuhr
- MVVM heißt: Den Zustand der App im Blick
- Das Model für die Stoppuhr-App
- Events informieren den Rest der App über Zustandsänderungen
- Den View für eine einfache Stoppuhr erstellen
- Das Stoppuhr-ViewModel
- Die Stoppuhr-App abschließen
- Konvertierer wandeln Werte für Bindungen automatisch um
- Konvertierer können mit unterschiedlichen Typen arbeiten
- Das Aussehen von Steuerelementen mit St yles ändern
- Visuelle Zustände lassen Steuerelemente auf Änderungen reagieren
- Mit DoubleAnimation double-Werte animieren
- Objekt werte mit Objektanimationen animieren
- Mit dem gleichen ViewModel eine analoge Stoppuhr gestalten
- UI-Steuerelemente können auch mit C#-Code instantiiert werden
- C# kann auch »echte« Animationen aufbauen
- Das Bild mit einem Benutzersteuerelement animieren
- Lassen Sie die Bienen über die Seite fliegen
- Mit ItemsPanelTemplate Steuerelemente an ein Canvas binden
- Glückwunsch! (Aber Sie sind noch nicht fertig ...)
-
10. Windows Store-Apps mit XAML: Ihre Apps auf die nächste Stufe bringen
- III. C#-Workshop: Invaders
-
A. Was übrig bleibt: Die Top 11 der Themen, die es nicht ins Buch geschafft haben
- 1. Der Windows Store hat einiges mehr zu bieten
- 2. Die Grundlagen
- 3. Namensräume und Assemblies
- 4. Mit BackgroundWorker das UI reaktiver machen
- 5. Die Klasse Type und GetType()
- 6. Gleichheit, IEquatable und Equals()
- 7. Mit yield return enumerierbare Objekte erzeugen
- 8. Umgestalten (Refactoring)
- 9. Anonyme Typen und Methoden sowie Lambda-Ausdrücke
- 10. LINQ to XML
- 11. Windows Presentation Foundation
- Wussten Sie, dass Sie mit C# und dem .NET Framework ...
- Stichwortverzeichnis
- Impressum
Product information
- Title: C# von Kopf bis Fuß, 3rd Edition
- Author(s):
- Release date: April 2014
- Publisher(s): O'Reilly Verlag
- ISBN: 97833955615963
You might also like
book
C# von Kopf bis Fuß, Second Edition
Schnappen Sie sich einen Stift, werfen Sie Ihren Rechner an und begeben Sie sich auf eine …
book
C von Kopf bis Fuß
Schon mal davon geträumt, C zu lernen und dabei Spaß zu haben? Mit C von Kopf …
book
C# 8.0 – kurz & gut, 6th Edition
Ideal für vielbeschäftigte Programmierer*innen, die eine knappe und zugleich verständliche Beschreibung von C# 8.0 und LINQ …
book
Entwurfsmuster von Kopf bis Fuß, 2nd Edition
Dieses Buch ist ein moderner Klassiker zum Thema Entwurfsmuster. Mit dem einzigartigen Von-Kopf-bis-Fuß-Lernkonzept gelingt es den …