Bindowanie do obiektów ADO.NET. Najczęściej obiekty ADO.NET inicjuje się w kodzie, a następnie w XAMLu następuje bindowanie do konkretnej kontrolki...
Dziś będzie opowieść… Co sądzą ludzie, którzy nie testują? Ja, dla przykładu, wierzę w Unit Testy. Kontrastowałem (podpytywałem) to ze stanowiskiem wielu osób. Niektóre osoby odpowiadały, że to nie działa. Następnie podały powody dlaczego tak uważają i od tych powodów chciałbym zacząć...
Sztuka programowania 1938 dni, 28 minut temu 167 rozwiń
Bindowanie to mechanizm wiążący dane z interfejsem je wyświetlającym. Mechanizm ten w WPF jest bardzo rozbudowany i oferuje możliwości nieosiągalne w prosty sposób dla Windows Forms.
WPF umożliwia tworzenie dwóch typów kontrolek: User controls - kontrolki zbudowane przez użytkownika, dziedziczą po klasie UserControl. Jest to kontrolka stworzona z kilku innych kontrolek; Custom controls - kontrolki stworzone od zera. Dziedziczą po klasie Control lub ContentControl.
Kontrolki WPF zostały przygotowane w ten sposób, aby łatwo można modyfikować ich wygląd. Definicję wyglądu oddzielono całkowicie od kodu definiującego funkcjonalność. Szablony kontrolek tworzone są w XAML-u. Szablon zawiera kompletny opis wyglądu danej kontrolki.
Każdy dobry (ten zły także) warsztat nie obędzie się bez odpowiednich narzędzi. Oto zestaw narzędzi, których ja używam.
Mobile development 1944 dni, 14 godzin, 29 minut temu 94 rozwiń
W poprzednim wpisie omówiłem kilka mechanizmów walidacji wprowadzanych danych jakie oferuje technologia WPF. Dzisiaj rozszerzę ten temat o kwestie związane z formatowaniem danych oraz konwersją typów. Często zdarza się sytuacja, w której prezentując użytkownikowi pewne dane chcemy określić dla nich własny format. Równie często konieczne jest skonwertowanie wartości wprowadzonej przez użytkownika na docelowy typ danych.
Od dłuższego czasu pracuję nad czytnikiem książek w formacie EPub dla Windows Phone. Niestety .NET to nie Java i ilość dostępnych komponentów nie jest taka duża jak u starszego brata. Ponieważ nie znalazłem żadnego projektu open source czytnika postanowiłem sam go napisać co wynikało z zamówienia klienta. A sam open source ma pomóc w testowaniu komponentu i developerce.
Mobile development 1952 dni, 1 godzinę, 2 minuty temu 49 rozwiń
Jedną z podstawowych kwestii przy budowie interfejsu użytkownika jest walidacja wprowadzanych danych. WPF w tym obszarze oferuje kilka mechanizmów. Dzisiaj zajmę się omówieniem trzech rozwiązań: walidacja poprzez implementację interfejsu IDataErrorInfo (DataErrorValidationRule), walidacja za pomocą wyjątków (ExceptionValidationRule) oraz walidacja przy wykorzystaniu własnych obiektów reguł (ValidationRule).
Manipulując stanem encji, należy pamiętać o dwóch zasadach. Dotyczą one zapisu zmian do bazy danych po zakończeniu pracy z obiektami i ustawianiu im stanów.
Encja pobrana z bazy za pomocą EntityFramework może mieć jeden z następujących stanów: Added - encja jest śledzona przez kontekst, ale nie istnieje w bazie danych Unchanged - encja jest śledzona przez kontekst oraz istnieje w bazie danych. Wartości pól są takie same w bazie jak i obiekcie (nie dokonano żadnych zmian).Modified - encja jest śledzona przez kontekst, istnieje w bazie danych. Dokonano zmian w jej polach Deleted - encja jest śledzona przez kontekst i istnieje w bazie danych. Została jednak ozn...
Niniejszy post opisuje sposób stworzenia nawigacji na stronie ASP.NET bez efektu przeładowania całej strony
Pierwszy project MonoGame dla Windows 8 gotowy. Ale poprzednio wspomniałem, że obecna wersja MonoGame nie obsługuje XNA Content Pipeline. W tym poście podam rozwiązanie (mam nadzieję, że tylko tymczasowe) tego problemu, bo Content i assety są nam baaaardzo potrzebne. Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).
Wiemy już czym jest MonoGame i jak je zainstalować więc czas na utworzenie pierwszego projektu. Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).
We wcześniejszym wpisie pisałem już o projekcie MonoGame. Dzisiaj przyszedł na wskazówki dotyczące instalacji tego dobrodziejstwa. Normalnie bym to pominął, ale sam miałem kilka problemów więc abyś nie tracił czasu na szukanie rozwiązania, zebrałem wszystko w jednym miejscu. Poniżej znajdziesz prawidłową kolejność odpowiednich SDK wraz z linkami.
Łapanie wyjątków w metodzie asynchronicznej nie jest niczym skomplikowanym. Należy tylko pamiętać o tym, iż mamy do czynienia z różnymi możliwymi scenariuszami wyjątków. Metoda oznaczona słowem kluczowym async zawiera przeważnie jedną lub więcej wywołań metod ze słowem kluczowym await. Await stoi przed metodą zwracającą typ Task. Pierwsza zasada to ta, iż await nie może się pojawić się w bloku catch lub finally.
Zaczniemy znów od kawałka kodu. Przeanalizujmy w jaki sposób wykonywana jest powyższa metod...
Nietypowo, na początek trochę kodu. Co czyni powyższą metodę asynchroniczną? Sygnatura metody zawiera słowo kluczowe async, nazwa metody zawiera przyrostek Async, typ zwracany to: Task(TResult), Task lub void, metoda zawiera przynajmniej jedno słowo kluczowe await.
Zamrażanie interfejsu użytkownika podczas wykonywania skomplikowanej czynności nie jest dobrym pomysłem. Aplikacja, która "zamiera" nie zachęca do dalszego wykorzystywania przez użytkownika. Programowanie asynchroniczne z drugiej strony wiąże się z większym nakładem pracy oraz bardziej skomplikowanym kodem wynikowym. Na pomoc przychodzi .NET 4.5 wraz z nowymi słowami kluczowymi: async, await. Jak je stosować i w jaki sposób pomagają nam tworzyć aplikacje asynchroniczne zobaczymy w poniższym przykładzie...
Polecamy
Nadchodzące wydarzenia
Najaktywniejsi

