How-To: Regionen und mehrere Dialoge in WPF darstellen

Eine Sache die bis heute in WPF fehlt, ist eine anständige MessageBox, weswegen man sich diese in aller Regel selbst programmieren muss oder auf die Implementierung der Windows Forms zurückgreift. Aber auch außerhalb der typischen Szenarien die mit den bekannten MessageBoxen abgedeckt werden, ist es immer wieder hilfreich mehrere UserControls innerhalb eines Windows oder in Form von sich überlagernden Dialogen darzustellen. Mir wurde die Frage gestellt wie man dies realisieren könnte und da ein entsprechendes Blockpost wieder sehr lang geworden wäre, habe ich mich dazu entschieden ein Video zu machen. Interessant dabei dürfte sein, dass man das darin erklärte Vorgehen zum Anzeigen eines Popups (damit sind nicht WPF Popups gemeint) auch und gerade mit Microsofts Prism sehr gut nutzen kann.

Weiterlesen »

Toast Notifications in Windows 8

Als ich das erste Mal eine Toast Notification unter Windows 8 verwenden wollte, war ich doch ein wenig verdutzt. Der gesamte Vorgang wirkte auf mich etwas eigenartig, da er sich sehr von dem unterscheidet was man sonst so von WPF und Co. gewöhnt ist. Sehen wir uns aber einfach mal an wie man vorgehen kann.

Weiterlesen »

How-To: Private und internal testen mit MS Test

Einer der viel gesprochenen Leitsätze des Testens ist: „Finger weg von privaten Membern“. Der Gedanke hinter dieser Aussage ist einleuchtend, denn je mehr Aussagen ich in einem Test über die Implementierung mache, desto höher die Wahscheinlichkeit, dass ich ihn später anpassen muss oder er fehl schlägt. Nichts desto trotz, kann man sich durch den Zugriff auf private Member gelegentlich viel Arbeit sparen wenn es darum geht einen Test aufzusetzen und außerdem hilft es manchmal sogar beim Aufspüren von Bugs. Weiterhin ist es teils unumgänglich auch Dinge zu testen die als internal gekennzeichnet sind und demnach theoretisch nicht vom Testprojekt identifiziert werden könnten.

Weiterlesen »

How-To: Charts mit WPF und Silverlight

Bei WPF bzw. Silverlight gibt es grundsätzlich die gleiche „Problematik“ wie bei Windows Forms bis .Net 4.0: Diagramme gehören einfach nicht zum Lieferumfang des Frameworks. Deshalb muss man in der Regel zu Dritt-Herstellern greifen, bindet die Charts von Windows Forms ein oder sucht sich kostenlose Alternativen. In diesem Artikel soll es zunächst um die letztere Fassung gehen wobei in dem Fall zwischen Dynamic Data Display und dem WPF- bzw. Silverlight Toolkit gewählt werden kann. Nachfolgend werden die beiden Fassungen aus den Toolkits näher beschrieben.

Weiterlesen »

How-To: UserControls in ItemsControl mit Überschriften trennen

Eine der wichtigsten Gründe Prism einzusetzen ist die Möglichkeit die GUI in Regionen aufzuteilen. Jede dieser Regionen wird als Content-, Items- o.ä. Control repräsentiert und kann dann zur Laufzeit mit 1 (ContentControl) bis n (Items– oder TabControl) UserControls bestückt werden. Auf diese Weise wird die eigentliche Benutzeroberfläche lose gekoppelt und kann ohne größeren Aufwand an neue Anforderungen angepasst werden. Ein immer wiederkehrendes Problem stellt für mich dabei die Nutzung des ItemsControl dar. Jenes zeigt die einzelnen Views in Form einer Liste an, was unter Umständen etwas langweilig und verwirrend wirken kann. Aus diesem Grund bietet es sich an, jene Views durch Überschriften oder Abgrenzungen voneinander zu trennen, aber wie kriegt man das hin? Kann man es evtl. auch ohne Prism verwenden? Und vor allem wie schafft man es mit möglichst wenig Aufwand?

Weiterlesen »

Fundstück: Sehr ausführliches MEF Tutorial

Ich sitze schon seit einiger Zeit an einem Artikel zum Managed Extensibility Framework, einem IoC-Framework welches zu .Net 4.0 gehört. Nun habe ich ihn gelöscht weil ich im deutschsprachigen Netz ein Tutorial gefunden habe welches das MEF sehr ausführlich beschreibt. Wer sich also über IoC mit .Net – Bordmitteln informieren will und/oder wissen möchte was so alles da drin steckt, sei auf folgende Seite(n) verwiesen. MEF Teil 1 – Grundlagen, Imports und Exports MEF Teil 2 – Metadaten und Erstellungsrichtlinien MEF Teil 3 – Lifecycle beeinflussen und überwachen MEF Teil 4 – Vererbung mit Composable Parts MEF Teil 5 – Composition und Recomposition MEF Teil 6 – Constructor-Injection MEF Teil 7 – Exportieren über eine Class Factory MEF Teil 8 – Eigenen ExportProvider erstellen MEF Teil 9 – Zugriff auf Composable Parts und Metadaten ohne Lazy<> MEF Teil 10 – Parts

Weiterlesen »

Vortrag bei der HTW-Dresden am 17.06.2011

Nachdem ich nun ausgeruht aus dem Urlaub zurück bin und mein Blog zwischenzeitlich netterweise gekapert wurde (danke Dirk für die Glückwünsche 😉 ), komme ich nun endlich wieder zum Schreiben. Das Erste worüber ich schreiben will ist das Letzte was ich vor meinem Urlaub getan habe. Am 17. Juni war ich zu Gast an der Hochschule für Technik und Wirtschaft in meiner Wahlheimat Dresden. Dort habe ich von Herrn Professor Nestler die Möglichkeit bekommen die Studenten in den dunklen Künsten von Unit Tests, testgetriebene Entwicklung und agiles Vorgehen einzuweihen.

Weiterlesen »

Fundstück: How-To create a SearchTextBox in WPF

Aktuell baue ich den größten Teil meiner Arbeitszeit ViewModels und Controls für unseren UI-Designer. Dabei bin ich zwischenzeitlich über eine Anforderung gestolpert die wohl auch an viele andere Anwendungen gestellt wird. So sollen bei uns Suchen über eine spezielle Textbox erledigt werden, die auch einen Button beinhaltet mit dem man die Suche auslösen oder das Textfeld leeren kann. Dieses Verhalten kennt man zum Beispiel von der Suche bei Firefox. Nun ist genau dieser Fall wunderbar geeignet um sich mit Custom-Controls in WPF auseinander zu setzen. Nur wie geht man da vor? Was muss man beachten und warum überhaupt die Entscheidung für ein Custom- und nicht für ein User-Control? All die Fragen und noch viel mehr beantwortet David Owens in seinem Blogpost. Dieses sehr ausführlich und gut geschrieben und bietet das Ergebnis sogar als herunter ladbaren Quellcode. Schritt für Schritt kann

Weiterlesen »

How-To: Darstellung von Datenreihen in MS Chart mit mehreren Y-Achsen

Heute geht es mal um eine Leserfrage. Genauer geht es darum ob und wie man in einer ChartArea mehrere Serien mit unterschiedlichen Einheiten darstellen kann. Der „einfache“ Weg Zum ersten Teil der Frage lässt sich schon einmal sagen: Ja, aber standardmäßig eher eingeschränkt. Tatsächlich ist es so, dass eine ChartArea bis zu zwei unterschiedlich skalierte Y-Achsen haben kann. Dabei ist eine Achsenbeschriftung an der linken Seite des Diagramms angebracht und die zweite an der rechten.

Weiterlesen »