Tap-Through-Verhalten mit WPF

 

Das Problem

In der WPF scheint es eine kleine Inkonsistenz bezüglich des Verhaltens verdeckter Komponenten zu geben: überdeckt ein heruntergeklapptes Menü ein anderes Control, z.B. einen Button, so kann man ihn trotzdem anklicken.

MainMenu

Klickt man an dieser Stelle den Change-Background-Knopf, wird sich der Hintergrund ändern.

Etwas anders reagiert die Oberfläche, wenn die Auswahl einer Combobox den Button überdeckt:

ComboBox

Wenn man hier den Button drückt, wird sich die Combobox schließen, es ist ein erneuter Klick notwendig, um eine Reaktion zu erzielen.

Weiterlesen

Advertisements
Veröffentlicht unter .NET, C#, WPF | Kommentar hinterlassen

Drag & Drop mit Caliburn.Micro

 

Prolog

Auf der Suche nach einer Möglichkeit, Zeilen innerhalb eines DataGrids per Drag&Drop zu verschieben, bin ich meistens auf Implementierungen gestoßen, die auf MouseUp- bzw MouseDown-Events reagieren. In dem Fall muss man sich natürlich um die ausgewählten Elemente selbst kümmern, die Selektion zwischenspeichern… sollte das WPF nicht mittlerweile selbst können? Und wie spricht man diese Funktionalität nun unter Caliburn.Micro an?

Weiterlesen

Veröffentlicht unter .NET, C#, Caliburn.Micro, WPF | Kommentar hinterlassen

Ein eigenes Setup mit WiX

Prolog

Im letzten Artikel Besser Bauen mit FAKE wurde darauf hingewiesen, dass die in FAKE integrierten Möglichkeiten zum Bauen eines Setups begrenzt sind. Statt dessen wurde durch das Build-Skript MSBuild mit einem WiX-Projekt als Target angestoßen. Um den Aufbau dieses Installer-Projekts geht es in diesem Post.

Weiterlesen

Veröffentlicht unter .NET, Installer, WiX | 3 Kommentare

Besser bauen mit FAKE

Prolog

Mein Projekt “WPF over Data” ist umgezogen. Auf Github wurden unter Poseidon die Assemblies neu konzeptioniert, von Caliburn.Micro wurde die neuste Version eingespielt, damit einhergehend wird nun MEF anstatt Windsor.Castle eingesetzt. Ziel war es, das Projekt später unter einer CI-Umgebung wie TeamCity oder Hudson automatisch bauen zu können.

Voraussetzung hierfür ist ein Build-Tool, das alle Projekte compiliert, die darin enthaltenen Software-Tests aufruft und die verschiedenen Programme zu einer Setup-Routine zusammenpackt. Der erste Blick fällt dabei auf MSBuild, da es schon für die Solutions und Projekte eingesetzt wird. Allerdings ist die verwandte XML-Sprache sehr gesprächig, das behandeln der Dateien in Filesets erscheint umständlich. Es gibt noch andere Möglichkeiten, etwa Ant oder Rake – meine Wahl fiel auf Fake.

Weiterlesen

Veröffentlicht unter .NET, Build-Tools, F# | 3 Kommentare

WPF Over Data mit Caliburn.Micro – die Daten

 

Prolog

Als erstes gilt es an dieser Stelle eine Entschuldigung auszusprechen: im letzten Beitrag habe ich die ArrayDependencyFacility sowie den ArraySubDependencyResolver benutzt, ohne die Angabe zu machen, dass die Quellen aus der Feder von Alexander Groß stammen. Mea culpa und Asche auf mein Haupt.

Um es wieder gut zu machen, stammen viele der folgenden Vorgehensweisen, Methoden und Klassen auch von ihm.

Weiterlesen

Veröffentlicht unter .NET, C#, NHibernate | 2 Kommentare

RubyGems unter Cygwin

 

In dem Buch “Sieben Wochen, sieben Sprachen” von Bruce A. Tate beginnt die Reise bei Ruby. Die mitgelieferten Beispiele lassen sich anfangs unter Cygwin noch relativ zügig mit irb durchspielen. Allerdings möchte man vielleicht auch Katas dazu machen, wie zB die Yellow Belt Ruby Katas auf github.

Diese benötigen RubyGems, was nicht mit Cygwin installierbar ist. Laut der Anleitung von Steve Harman sollte man den Tarball von Ruby Forge laden, ihn entpacken, und in der Bash die beiden Kommandos ausführen:

ruby setup.rb install
gem update –system

Danach können die für die Katas benötigten Pakete installiert werden, zunächst mit

gem install bundle

den Bundler aktivieren, dann mit

bundle install

die Umgebung einrichten. Wenn man anschließend die beiden Katas fib und gcd gelöst hat, sollte in etwa die folgende Ausgabe erscheinen:

$ rake
/usr/bin/ruby.exe -S bundle exec rspec ./spec/fib_spec.rb ./spec/gcd_spec.rb
.......

Finished in 0.001 seconds
7 examples, 0 failures
DotNetKicks-DE Image
Veröffentlicht unter Cygwin, Ruby | Kommentar hinterlassen

Ein lokales Repository für NuGet

 

Das Bereitstellen von Installationspaketen per NuGet ist schon ein echter Gewinn, allerdings muß man ständig online sein. Hier kann das Skript von Jon Galloway helfen, es kopiert das offizielle Repository auf die lokale Festplatte.

Was mir allerdings auffiel: die Konfiguration des Skriptes geschieht per Quelltextänderung. Unschön, wie ich finde. Und das gibt mir eine schöne Gelegenheit, mir einmal die Feinheiten der PowerShell anzuschauen.

Weiterlesen

Veröffentlicht unter NuGet, PowerShell | Kommentar hinterlassen