autor: W ostatnim postcie wspomniałem o trzeciej możliwości walidowania pól po stronie klienta: Nierobienie nic i przeciążenie zdarzenia submit, tak by wykonać raz (nie licząc pierwszego wymuszonego przez unobtrusive validation) parsowanie Może się zastanawiać ale po co mamy to przeciążać, tylko ze względu na te kilka dynamicznych pól? TAK :) (odpowiedź na to pytanie na końcu postu) oraz dlatego, że domyślna walidacja zwraca false, czyli blokuje jakiekolwiek akcje dalej. Jeżeli zostanie ona wykonana ...
20maj/110Zaginiona metoda Main()? Tworząc aplikację WPF czasami zachodzi potrzeba napisania własnej metody Main(). Przeglądając pliki znajdujące się w solucji można natknąć się pliki *.xaml i powiązanie z nimi *.xaml.cs oraz pliki kodu *.cs. Dopóki nie trzeba zrobić czegoś nie standardowego to często nie ma potrzeby, aby zagłębiać się w różnego rodzaju mechanizmy. Takim mechanizmem może być start aplikacji WPF. Ostatnio potrzebowałem dodać własną metodę Main(). Sądziłem, że będzie to proste – nowa klasa ...
W świecie projektów .Netowych dość często spotykam się z sytuacją, gdzie intensywnie używane jest Visual Studio, natomiast rola TFS ogranicza się jedynie do kontroli wersji. Co prawda od czasu do czasu ktoś stworzy Taska lub Buga, w porywach nawet dołączy do niego związany kod, jednak nie ma to wiele wspólnego z ogólnie obowiązujacym procesem (inna sprawa czy w ogóle obowiązuje jakiś proces :)). A jednak nazwa Team Foundation Server wskazuje na pewien zakres odpowie...
W poprzedniej i zarazem pierwszej części tutoriala do WPF, powiedzieliśmy sobie co nieco na temat samego WPF, zawartego w nim języka XAML oraz menadżerów układów. Dziś przyszła kolej na kontrolki, bez których w GUI, nie było prawdopodobnie by niczego. Co należy rozumieć jako kontrolkę? Są to wszystkie buttony, gridy, listy, comboboxy itp. itd. Każda z kontrolek, posiada pewien wspólny zestaw właściwości, które bierze się z reguł dziedziczenia zawartych w WPFie (patrz akapit o drzewach). Oprócz tego, kon...
Po tym jak okazało się, że Reflector nie będzie już dostępny w najprostszej wersji jako darmowe oprogramowanie, wielu programistów zaczęło prace nad odpowiednikiem.
W poprzedniej części spowodowaliśmy by generowały się atrybuty walidacyjne dla elementów dynamicznie generowanych. Jednakże mimo ich poprawnego dodawania do elementów, walidacja po stronie klienta nie działała dla dynamicznie dodanych elementów – przy tworzeniu byli to autorzy książki, zaś przy edycji nowi jeszcze nie dodani autorzy. Rozwiązanie byłoby dość banalne, gdyby mi choć raz zadziałało, tak jak wspominał Procent u siebie na blogu, powinno wystarczyć wykonanie następującej linijki:
Kolejny dzień kolejny wpis na blogu. Postawiono przede mną zadanie poprawy wydajności aplikacji w kontekście dodania do niej wielu wątków roboczych. Zadanie proste i banalne używając .NET. W związku z tym dziś słów kilka o klasie ThreadPool . Dzięki klasie ThreadPool i jej metodzie ThreadPool.QueueUserWorkItem sprawa jest naprawdę prosta. Jej użycie sprowadza się do "powiedzenia w C# - hej jest robota do wykonania niech ją ktoś dla mnie wykona w wolnej chwili". Naprawdę ... to takie proste. Oczywiście ta...
Jakiś czas temu, ku mojemu zaskoczeniu, udało mi się zdać egzamin 88-970 (SQL Server 2008 Microsoft Certified Master Knowledge Exam). To był bardzo trudny egzamin i moja satysfakcja ze zdania go była naprawdę duża. Pierwszy krok do tytułu Microsoft Certified Master (MCM) został postawiony :-) Idąc za ciosem podszedłem wczoraj do egzaminu 88-971 (SQL Server 2008 ...
Bazy danych i XML 4940 dni, 20 godzin, 17 minut temu 203 źrodło rozwiń
Ostatnimi czasy zajmowałem się przygotowanie obcojęzycznej wersji systemu, na który składa się cała plejada aplikacji napisanych w różnych technologiach, od ASP.NET przez WinForms po WPF. Do tej pory zagadnienie to znałem przede wszystkim ze strony teoretycznej. To znaczy wiedziałem o różnych mechanizmach wbudowanych w .NET wspierających ten proces, nie omieszkałem ich wypróbować ale nie miałem okazji zastosować tej wiedzy do dużego i skomplikowanego systemu. Powiem więcej, proces lo...
Do grona rzeczy, które wyróżniają aplikację, już na pierwszy rzut oka, najczęściej z pewnością możemy zaliczyć jej GUI, czyli innymi słowy wartstwę prezentacji. W .Necie, praktycznie od zawsze, GUI tworzyło się za pomocą dość wygodnych Windows Forms, które za pomocą metody Drag & Drop (Przeciągnij i upuść) pozwalały na szybkie tworzenie wizualnego obszaru naszej aplikacji, często bez napisania nawet jednej linijki kodu. Istotą takiego podejścia, było użycie absolutnego pozycjonowania elementów, względem ...
W poprzedniej części opisałem w jaki sposób możemy generować listy elementów do edycji/tworzenia tak by nie przejmować się numerycznym indeksem. To co nam jednak pozostało to sprawa walidacji danych. Najlepszym przykładem będzie zmodyfikowanie kodu, który już posiadamy (najnowsza wersja na github) – dodajmy atrybut Required dla własności Name w CreateAuthorViewModel. Następnie odpalmy projekt, wejdźmy na zakładkę Books i potem kliknijmy Create New. Jeżeli teraz klikniemy na Add book author i nie wprowa...
Przydatne moim zdaniem linki, ciekawe dema i biblioteki całościowo zebrałem pisząc post 3D Graphics in Silverlight 5 Beta: links + cool apps !. Tutaj podsumuję typowe tworzenie prostej grafiki 3D, dostępne możliwości w Silverlight 5 Beta, a następnie zrobię sobie (na razie nietechniczną) wycieczkę po wirtualnych trójwymiarowych światach, jakie możemy odnaleźć w demie Babylon 3D Engine. Tworzenie grafiki trójwymiarowej zaczyna się tłumaczyć od prostych brył. Podobnie jak na studiach zacząłem zabawę od sze...
Silverlight 4944 dni, 11 godzin temu 139 źrodło rozwiń
Wielojęzyczność aplikacji www można rozwiązać na kilka sposobów. Jedne strony mają rysuneczki flag symbolizujących język, w jakim chcemy widzieć teksty (i nie tylko) i pamiętają to w cookie. Inne pozwalają to ustawić w profilu użytkownika i pamiętają ustawienie w bazie. Ostatnio pisałem rozwiązanie, które ustawia odpowiednią kulturę aplikacji na podstawie informacji wysyłanych przez przeglądarkę podczas żądania.
Dziś kilka słów o tym, czego możemy spodziewać się po .NET jeśli idzie o niektóre możliwości systemu plików. - Panie Michale, to JEDNYM słowem, jak to jest z tym wsparciem dla niektórych rzadziej używanych funkcji systemu plików w .NET? - Dobrze. - A dwoma słowami? - Nie dobrze. Nudne wprowadzenie Wszystkie programy .NET są jednocześnie aplikacjami Win32, co oznacza, że pracują w ramach podsystemu Windows, który realizowany jest przez proces csrss.exe. Jego nazwa rozwija się do Client/Server Run-Time...
Wczoraj miałem przyjemność poprowadzić sesję o testach jednostkowych na spotkaniu studenckiej grupy .NET na PB. Już dobre półtora roku temu postanowiłem sobie, że takie wystąpienia to rzecz nie dla mnie i że więcej nie będę próbował sprawdzać się w ten sposób. Jednak gdy dostałem zaproszenie od Justyny Iwanowskiej, białostockiej SC, zdecydowałem "a co mi tam". Jednocześnie dziękuję za owo zaproszenie:).
Jakub Gutkowski: Ostatnio rozmawiałem ze znajomym, który stwierdził, że jeżeli nie wykorzystuje się wbudowanych w MVC 3 klas i metod to robi się coś źle. Nie zgadzam się z tym twierdzeniem, to co jest zajebiste w MVC 3 to to, że dzięki kilku prostym linijkom kodu można rozszerzyć implementację o niezbędną w danej chwili funkcjonalność. W końcu jak powstało RoR? Trochę teorii Z jedną z takich funkcjonalności jest możliwość edycji dynamicznych (dodaj/usuń/edytuj) list – tak by za pomocą jednego submit prz...
Z lekkim opóźnieniem wracamy do cyklu poznawania Team Foundation Servera :) Zgodnie z prośbą Andrzeja, dzisiaj kilka słów na temat samej instalacji. Nie chciałbym się jednak powtarzać z publikowanymi przeze mnie już wcześniej materiałami, dlatego najpierw odsyłam Cię, drogi Czytelniku do...
Dzisiaj trochę kodu źródłowego z mojego ostatniego projektu. Przy okazji szlifowania projektu i tworzenia AboutWindow pomyślałem, że fajnie byłoby mieć gotowy mechanizm do szybkiego, łatwego i jednoznacznego numerowania wersji projektu i wiązania tej wersji z rewizją w systemie kontroli wersji (Mercurial). Prawidłowe podpisywanie projektu numerem wersji, który pozwala w prosty sposób zidentyfikować, z której wersji kodu (rewizji) została skompilowana dana we...
« Promowanie pól w schemacieWywołanie orkiestracji z poziomu usługi WCF Coraz częściej zachodzi potrzeba wywołania orkiestracji z usługi WCF. Do tego celu wykorzystywana jest opcja Public – no limit w ustawieniach Receive Port Type. Po opublikowaniu aplikacji na serwerze BizTalk w której ustawiliśmy Access Restrinctions na Public, należy uruchomić BizTalk WCF Publishing Wizard. Za pomocą tego narzędzia wygenerujemy oraz opublikujemy usługę WCF na IIS, która wywoływać będzie orkiestrację: 1. W sekcji WC...
Emulator Windows Phone 7 ma dość banalny, ale idiotyczny błąd, który o dziwo nie został wykryty przed wypuszczeniem na rynek Visual Studio 2010 Express for Windows Phone. Otóż zdarzenie TextChanged w kontrolce TextBox wywoływane jest dwukrotnie dla każdego przyciśnięcia klawisza. Irytujące, nieprawdaż? Problem wynika z faktu, że kontrolka TextBox zawiera w sobie drugi TextBox, który jest wykorzystywany dla stanu readonly/disabled – stąd podwójne wywołanie! Nie posiadam obecnie telefo...
Silverlight 4948 dni, 10 godzin temu 89 źrodło rozwiń