Tworząc aplikacje mobilne, nie jest łatwo zbudować model danych, który idealnie odpowiadałby potrzebom aktualnego widoku. Problem staje się jeszcze bardziej złożony, w sytuacji gdy korzystamy z API, które zwraca ogólny model, dla rożnych końcówek. W takiej sytuacji, programista aplikacji mobilnej musi sam zadbać o odpowiednie wyświetlenie i sformatowanie otrzymanych danych.. W świecie Universal Apps problem ten można rozwiązać na różne sposoby. Osobiście preferuje tutaj wykorzystanie architektury MVVM, k...
Język znaczników XAML, jest integralnym elementem kilku ważnych technologii Microsoftu. Pojawia się on: w sukcesywnie upadającym Silverlighcie, WPFie, Windows Phonie, czy też w aplikacjach uniwersalnych. Dlatego też jeśli poznacie jedno z wymienionych wyżej środowisk, to bardzo łatwo będzie się Wam przestawić na dowolną z pozostałych technologi. W zależności od środowiska, mogą pojawiać się pewne delikatne różnice w możliwościach jakie dostarczy nam XAML, ale mimo wszystko jest naprawdę sporo rzeczy wspó...
W każdym projekcie prędzej czy później trzeba wdrożyć to, co zaprojektował nieposkromiony grafik. Jak to często ma miejsce większość przygotowanych widoków wygląda tak ładnie tylko w pliku PSD. Otóż nieczęsto zdarza się, żeby grafik przewidział sytuacje takie jak złe łamanie się tekstu czy inne artefakty, które powstają po połączeniu widoku z danymi. Wpis przedstawia łatwy sposób zasilania widoków danymi.
Mobile development 3807 dni, 17 godzin, 14 minut temu 215 źrodło rozwiń
Serię poświęconą WPF oraz MVVM czas zacząć. Wiem – wpisów tego typu jest w sieci sporo. Wiem, MVVM nie zawsze jest idealnym wyborem i istnieje wokół niego sporo kontrowersji. Wiem, emerytury w Polsce są za niskie. Nie zmienia to faktu, że przy okazji implementacji aplikacji WPFowej postanowiłem spróbować zaznać szczęścia w królestwie władcy ModelViewViewModel i jego rycerzy: ObservableCollection i Command. I muszę powiedzieć, że nie żałuję. Na pierwszy rzut oka różnic...
Jeśli zdarza się nam pracować z plikami .xaml i korzystamy z dobrobytu jakim jest bindowanie kod-widok (niezależnie od tego czy będzie to MVVM czy code behind), po pewnym czasie nadchodzi moment, gdy szlag nas trafia i musimy napisać po raz kolejny zamiast prostego ładnego property...
Wpis przedstawia sposób stworzenia i użycia AttachedProperties, w celu rozszerzenia funkcjonalności istniejących już komponentów. Problem bindingu do ActualWidth oraz ActualHeight zostanie rozwiązany. Szczególnie przydatne podczas pisania aplikacji modern!
Sztuka programowania 4281 dni, 21 godzin, 14 minut temu 175 źrodło rozwiń
Czasami musimy odwołać się do kontrolki, która jest zdefiniowana w DataTemplate jakiegoś np. Listboxa. Opisuję dwie możliwości dostania się do takiej kontrolki: RoutedEvents oraz VisualTreeHelper na przykładzie aplikacji Windows 8.
Uczepiłem się ostatnimi czasy tego wzorca. Uczepiłem się na tyle, że w trakcie przygotowań jest mój autorski framework (może trochę za dużo powiedziane). Jednak nie o tym będzie w tym artykule. W czasie prac nad nową aplikacją na Windows Phone napotkałem pewne kłopoty. Jak to w MVVM, wywoływanie określonych zachowań interfejsu we View-Model zawsze stawia pewne znaki zapytania. Tym razem miałem do wyświetlenia różne komunikat...
Silverlight 4508 dni, 3 godziny, 30 minut temu 387 źrodło rozwiń
W dzisiejszym wpisie pokażę w jaki sposób dla danego obiektu WPF wygenerować kod XAML oraz jak taki kod wczytać dynamicznie podczas działania programu. W tym celu użyję klas XamlWriter i XamlReader.
Projektując programy w technologiach XAMLowych z wykorzystaniem MVVM Light Toolkit (w zasadzie liczy się wzorzec), zawsze napotykam problemy, na które trudno znaleźć jednoznaczną odpowiedź. Najczęściej kłopoty sprawia widok, który nie zawsze „chce” się zmieścić w kodzie xaml. Prostsze zadania można rozwiązać przy pomocy zachowań (?) czy też triggerów. Sprawy się komplikują w przypadku storyboardów. Co zrobić, jeżeli chcemy uruchomić ...
Architektura 4609 dni, 19 godzin, 35 minut temu 306 źrodło rozwiń
Pozwolę sobie tutaj rzucić okiem na style CSS w ujęciu dość podstawowym i funkcjonalnie porównać je do styli XAML. W niewielkim stopniu zahaczymy też o podstawowe ustawienia elementów wizualnych i zagadnienia layout’u. HistoriaCSS 1 - 1996 (czcionki, kolory, wyrównania, odstępy) CSS 2.1 - 2004 (layout, pozycjonowanie) CSS 3 - w rozwoju (efekty, rozmiary, mowa) http://www.quirksmode.org/css/contents.html Selektory w stylach Prostepo typie np. body; h1,h2 (h1 i h2) po id, np. #menu po klasie, np. .b...
O mapowaniu przestrzeni nazw CLR na przestrzenie XML w XAMLu.
Silverlight 4733 dni, 3 godziny, 34 minuty temu 119 źrodło rozwiń
Jakiś czas temu, we wpisie Tworzenie aplikacji wielojęzycznych z C# i ASP.NET w Visual Studio opisywałem jak stworzyć aplikację, która będzie przystosowana do obsługi wielu języków i wykorzystywać będzie do realizacji tego celu mechanizm zasobów udostępniony w platformie .Net. Wpis ten, nie opisywał jednak zastosowanie tego mechanizmu, dla aplikacji napisanych pod kątem frameworka WPF, który korzysta z języka XAML. Dlatego też dziś, w ramach kolejnego wpisu z cyklu WPF Tutorial, chciałbym nadrobić braki...
Architektura 4807 dni, 18 godzin, 35 minut temu 266 źrodło rozwiń
Expression Blend, WPF i dziwne błędy w XAML
Silverlight 4873 dni, 5 godzin temu 136 źrodło rozwiń
Podczas działania naszej aplikacji (a będącej jeszcze w fazie dewelopmentu) często zachodzi potrzeba na wyświetlanie dodatkowych informacji. Przykładowo wyświetlamy różnego rodzaju identyfikatory czy kody wczytanych danych aby śledzić czy edytowany rekord jest tym rekordem, o który nam chodzi...
Silverlight 4895 dni, 21 godzin, 10 minut temu 98 źrodło rozwiń
W poprzednim poście opisałem nowość w Silverlight 5 – XAML bindings debugging, czyli debugowanie bindingów prosto w XAML’u. Programiści już się cieszą i czekają od kwietnia na wersję RTM, a wtedy zmigrują swoje projekty do nowej wersji.Wcale nie trzeba czekać Ale okazuje się, że nie trzeba czekać. Już dzisiaj można debugować bindingi w „starych” projektach Silverlight 4!
Silverlight 4911 dni, 3 godziny, 2 minuty temu 59 źrodło rozwiń
Na konferencji Silverlight Firestarter (2 grudnia 2010) ogłoszono, że nadchodzi Silverlight 5, a cztery miesiące później, na konferencji MIX 11, ogłoszono publiczną wersję Silverlight 5 Beta. Jednym z wyczekiwanych ficzerów jest debugowanie bindingów w XAML‘u. To bardzo przydatny wynalazek.
Silverlight 4911 dni, 3 godziny, 2 minuty temu 53 źrodło rozwiń
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 XAM...
Osoby, które tworzą aplikacje w WPF-ie i/lub Silverlight-cie na pewno spędzają wiele godzin edytując kod XAML. Wsparcie w Visual Studio 2010 względem 2008 poprawiło dla tego typu pracy, ale nadal warto wspomóc się zewnętrznymi dodatkami, które są darmowe 1. Pierwszy dodatek, który polecam to XAML Intellisense Presenter. Dzięki niemu IntelliSense w edytorze XAML zyskuje nowe możliwości takie jak filtrowanie, wyszukiwanie za pomocą notacji Pascala czyli pisze tylko DG, a okienko pokaże nam DataGrid. Aby z...
Ostatnio pokazywałem, jak napisać proste rozszerzenie XAML – opisałem, jak stworzyć parametrowe i bezparametrowe rozszerzenie. Dziś skupię się na metodzie ProvideValue, a dokładniej na dostawcy usług, który przekazywany jest nam w parametrze. Pierwszym i jedynym parametrem metody ProvideValue jest co...