Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Tag: WPF

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.

Continue reading “How-To: Regionen und mehrere Dialoge in WPF darstellen” »

Ich wurde per Twitter gefragt ob ich mir nicht ein wenig Quellcode einer WPF Applikation ansehen könnte um diverse Tipps zu dessen Verbesserung zu äußern. Statt aber nur aufzuzeigen was mir daran nicht gefällt, habe ich mich daran gemacht zu beschreiben welchen anderen Weg man gehen kann um mehrere Ansichten innerhalb einer WPF Anwendung zu verwalten und diese Anwendung auch noch korrekt zu initialisieren.

Continue reading “How-To: Handgefertigtes Bootstrapping & View Handling in WPF” »

Wenn es etwas gibt, dass ich bei der Nutzung von Xaml besonders mag, dann ist es die strikte Trennung zwischen Logik und Darstellung. Alles was zur Darstellung gehört, wird in Xaml geschrieben, die Logik wiederum findet sich im testbaren ViewModel. Dies erlaubt eine einfache Trennung der Verantwortlichkeiten und eine Parallelisierung der Arbeit, weil Designer und Entwickler unabhängig von einander arbeiten.

Damit der Designer dabei auch wirklich unabhängig vom Entwickler, nicht aber an diesem vorbei, arbeitet, sollten sich beide auf eindeutige Schnittstellen einigen. Das Wort „Schnittstelle“ kann dabei ruhig wörtlich genommen werden. Denn wenn sich beide zum Beispiel auf ein Interface für ein ViewModel einigen, kann es anschließend zwei dieser ViewModels geben. Eines, das nur die Logik für die Anzeige enthält und eines mit der tatsächlichen Logik die zur Laufzeit gebraucht wird.

Continue reading “Xaml: ViewModel für die Designzeit” »

Ein wiederkehrendes Problem das es zu lösen gilt wenn man typische Oberflächen testen möchte, ist die Prüfung auf einen Validierungsrahmen. Solche Rahmen werden immer dann eingesetzt wenn der Nutzer auf eine Falscheingabe hingewiesen werden soll. Dummerweise kann die UI Automation uns keine Informationen über jene Rahmen geben, da sie sie selbst nicht kennt. Wie also vorgehen?

Validierungsrahmen

Continue reading “Coded UI Test: Validierung auf UI Ebene prüfen” »

Nun ist er vorbei, der Developer Openspace 2012 und hat mal wieder einen bleibenden Eindruck in meinem Langzeitgedächtnis hinterlassen. Dies fing schon mit dem interessanten und lehrreichen Workshop zu Windows Azure an. Danke an der Stelle an Sascha Dittmann für die (kostenlos) dargebotenen Informationen und die spätere Session zu Azure Service Bus.

Damit sind wir auch schon beim Thema, denn ich bin erneut überrascht mit welcher Qualität an Workshops und Sessions hier aufgewartet wurde. Alle Leute waren hoch motiviert, begeistert bei der Sache und nicht zögerlich Wissen aufzusaugen oder zu verbreiten, selbst wenn es um Themen ging die Entwickler laut Stereotyp nur peripher interessieren.

Continue reading “Developer Openspace 2012 – Erneut ein Erlebnis” »

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. Continue reading “How-To: Charts mit WPF und Silverlight” »

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? Continue reading “How-To: UserControls in ItemsControl mit Überschriften trennen” »

Das Semester neigt sich dem Ende, die Vorlesungen sind fast alle gehalten und so ist jetzt eine gute Möglichkeit den Studenten ein wenig Wissen abseits des eigentlichen Lehrplans zu vermitteln.

Dank Professor Nestler hatte ich auf diese Weise wieder die Möglichkeit einen Spezialvorlesung an der HTW-Dresden zu halten. Nach dem ich mich beim letzten Mal im Juni vor allem der agilen Entwicklung und dem automatisierten Test gewidmet hatte, ging es dieses Mal um Pattern, Clean Code und Prism. Continue reading “Pattern, Clean Code & Prism - Vortrag an der HTW-Dresden vom 16.01.2012” »

Es gibt diese Bugs über die Entwickler stundenlang philosophieren können und bei deren Erläuterung man reihenweise das Klatschen flacher Hände auf gerunzelten Stirnen vernimmt, weil man es ja eigentlich hätte wissen können. Nachfolgende Schilderungen gehören eindeutig in diese Kategorie…

Continue reading “„Prism spinnt!“ oder “static const vs. static readonly”” »

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 man damit jede Entscheidung nachvollziehen, also perfekt um die Entwicklung von Custom-Controls mal live zu erleben. Auf der anderen Seite ist das Post aber nicht für WPF-Anfänger geeignet, was schon darin begründet liegt, dass Custom-Controls ein gutes Vorwissen zu Dingen wie Styles, Trigger usw. benötigen.