Elementy otagowane przez IoC

  • IoC w XAML (proof-of-concept).

    01.06.2011

    Pracując z WPFem/XAMLem wielokrotnie natrafiałem na kod tego typu (bindowanie ViewModel do DataContext). Jest to dość wygodne rozwiązanie w małych i średnich aplikacjach nie wykorzystujących zaawansowanych wzorców prezentacyjnych (MVP, MVVM itp). Jednak ma ono jedną, podstawową wadę. Specyfika XAML’a wymusza istnienie bezparametrowego konstruktora w WindowViewModel, przy użyciu którego będzie tworzony obiekt przypinany do DataContext. Tworzenie obiektów w XAML’u przy użyciu parametrycznych konstruktorów nie jest w ogóle możliwe. Problem zaczyna się gdy chcemy wstrzyknąć do naszego modelu zależności.  Jesteśmy skazani na “jeden właściwy”  konstruktor. Zostaje tylko tzw. poor man’s injection.

    Czytaj więcej...
  • WPF: Bindowanie Enum'a do ComboBox'a

    31.05.2011

    Podczas moich ostatnich zmagań z WPFem trafiłem na ciekawy problem. Chodzi o bindowanie typu Enum do kontrolki ComboBox. Czyli w combo ma pojawiać się lista dostępnych wartości enum'a, a po wybraniu jednej z nich ma uaktualnić się podpięta do comboboxa właściowość ViewModelu. Dodatkowo sprawa komplikuje się gdy nazwy poszczególnych wartości enum'a są niezbyt czytelne dla śmiertelnego użytkownika programu (np. zamiast ładnej opisowej nazwy "To jest pierwsza specjalna opcja programu", "To jest druga specjalna opcja programu" są wartości "Foo" i "Bar").

    Czytaj więcej...