IsCancel: Abbrechen-Schaltfläche festlegen

Unter WPF gibt es verschiedene Wege, um zu definieren, was in einem Fenster beim Betätigen der Escape-Taste geschehen soll. Sie könnten beispielsweise die Ereignisse abfangen, die beim Drücken einer Taste ausgelöst werden und dabei prüfen, ob der Benutzer die Escape-Taste gedrückt hat. Meist jedoch gibt es eine Schaltfläche, welche die gleiche Funktion bereithalten soll wie die Escape-Taste – zum Beispiel das Schließen des Fensters über eine Abbrechen-Schaltfläche ohne Speichern der Daten. Wie dies ganz einfach mithilfe des Attributs “IsCancel” erledigen, zeigt der vorliegende Artikel.

Weiterlesen

IsDefault: Standardschaltfläche festlegen

Unter WPF haben Sie verschiedene Möglichkeiten, eine Schaltfläche festzulegen, die beim Betätigen der Eingabetaste ausgelöst wird. Die einfachste ist die über das Attribut “IsDefault” einer Schaltfläche. Stellen Sie dieses auf den Wert “True” ein, wird die normalerweise durch Schaltfläche ausgelöste Ereignismethode auch beim Betätigen der Eingabetaste ausgelöst. Unter welchen Voraussetzungen das geschieht, zeigt dieser Artikel.

Weiterlesen

Commands verwenden

Wenn Sie unter Access und VBA Ereignisse programmiert haben, hat beispielsweise jedes Steuer-element, jede Ribbon-Schaltfläche und jeder Kontextmenü-Eintrag ein eigenes Ereignis erhalten – auch, wenn diese genau die gleiche Funktion auslösen sollten. Das war schon durch die unterschiedlichen Schnittstellen nötig. Unter WPF können Sie ein und dieselbe Funktion von verschiedenen Steuerelementen aus auslösen. Das gelingt allerdings nicht mit herkömmlichen Ereignismethoden, sondern mit sogenannten Commands. Was das ist und wie Sie es in Ihre Anwendungen einbauen können, zeigt der vorliegende Artikel.

Weiterlesen

XAML-Eigenschaften beim Debuggen testen

XAML bietet sehr viele Möglichkeiten, das Design von Steuerelementen in einer Anwendung anzupassen. Viele der Eigenschaften sind von den Standardsteuerelementen vorgegeben, andere passen Sie selbst durch Definition des XAML-Codes an. Wenn dann beim Testen der Anwendung Elemente nicht wie erwartet aussehen, stellt sich die Frage, woran das liegt. Dann lautet die Aufgabe, herauszufinden, woher die jeweilige Einstellung stammt und diese so anzupassen, dass das Design wie gewünscht erscheint. Für solche Zwecke gibt es in Visual Studio eingebaute Tools, die wir uns in diesem Artikel ansehen. Mit Visual Studio 2019 gibt es viele Verbesserungen, die ein Update lohnenswert machen.

Weiterlesen

WPF: DataTrigger und MultiDataTrigger

Um die Eigenschaftswerte von Steuerelementen abhängig von den Werten anderer Steuer-elemente oder auch von Eigenschaften einzustellen, verwenden Sie Data-Trigger oder MultiDataTrigger. Wir schauen uns in diesem Artikel die Grundlagen zu diesen Elementen an und zeigen anhand einiger Beispiele, was beim Praxis-ein-satz zu beachten ist. Dabei betrachten wir auch, wie Sie DataTrigger auf Basis von Eigenschaften im Code behind-Modul des WPF-Objekts verwenden können.

Weiterlesen

Property-Elemente am Beispiel Content

Unter Access konnten Sie beispielsweise in einer Schaltfläche lediglich einen Text als Inhalt unterbringen. In neueren Versionen kamen dann noch einige Features zur Gestaltung von Rand, Hintergrund, Bildern et cetera hinzu. Unter WPF sieht das ganz anders aus. Eine Schaltfläche bringt zwar mit der Content-Eigenschaft die Möglichkeit mit, einfache Texte einzugeben und liefert auch noch einige weitere Attribute, mit denen sich andere gängige Eigenschaften wie Rahmen, Hintergrund und so weiter einstellen lassen. Aber die Content-Eigenschaft nimmt nicht nur reine Texte, sondern nahezu beliebige Inhalte entgegen und zeigt diese innerhalb des Buttons an. Der Button ist dabei übrigens nur ein Beispiel – es gibt noch weitere Steuerelemente, welche die Content-Eigenschaft anbieten.

Weiterlesen

Fehlerhafte Bindungen prüfen

Wenn Sie mit C# programmieren, können Sie beim Debuggen bequem herausfinden, warum etwas nicht so funktioniert, wie Sie es sich vorstellen. Bei der Datenbindung von WPF-Elementen wird es komplizierter: Wenn etwa ein an ein Feld eines Objekts gebundenes Steuerelement nicht den gewünschten Wert anzeigt, kann dies verschiedene Gründe haben. Wenn das gebundene Element nicht gefunden werden kann, gibt es keine Fehlermeldung, und es wird auch schwierig, herauszufinden, woran es liegt. Dieser Artikel stellt ein paar Möglichkeiten vor, Licht ins Dunkel der Bindung zu bringen.

Weiterlesen

Type Converter in WPF/C#

Manche Eigenschaften eines .xaml-Dokuments sind sehr flexibel. Für die Eigenschaft Margin beispielsweise können Sie ganz verschiedenen Werte angeben – zum Beispiel einfach den Wert 5, um Abstände in alle vier Richtungen zu erhalten oder auch die Zeichenkette 5,0,5,0, um nur einen linken und einen rechten Abstand abzubilden. Auch andere Eigenschaften nehmen durchaus unterschiedliche Werte entgegen, zum Beispiel solche zur Angabe von Farben. Wenn man genauer hinsieht, stellt man schnell fest, dass man da Attributen, die völlig anderen Typs sind, ein String-Literal zuweist. Warum das hier gelingt, beschreibt der vorliegende Artikel.

Weiterlesen

EDM: Datenbindung mit dem ListBox-Steuerelement

Im Artikel Das ListBox-Steuerelement: Grundlagen haben wir die Grundlagen zum ListBox-Steuerelement erläutert. Heute gehen wir einen Schritt weiter und zeigen, wie Sie die Daten aus Objekten anzeigen, die beispielsweise aus einer Datenbank-Tabelle gewonnen oder anderweitig in die Objekte gefüllt werden. Dabei zeigen wir auch, wie Sie in der ListBox anspruchsvollere Daten wie etwa mehrspaltige Daten oder auch Bilder anzeigen.

Weiterlesen