Niedawno oglądałem nagranie z sesji Advanced Debugging with Visual Studio 2010, która prowadził Ingo Rammer. Bardzo fajna sesja, świetnie prowadzona. Pojawiły się na niej ciekawe informacje, które pozwalają ułatwić i urozmaicić sobie sesje w debuggerze Visual Studio. Zainspirowany tematem, postanowiłem na własnej skórze przetestować pokazywane rozwiązania. Poprzednio pokazywałem jak można manipulować wyświetlaniem ...
Witajcie w trzeciej części tutoriala do WPF. W dwóch poprzednich wpisach (WPF Tutorial - wprowadzenie oraz WPF Tutorial - obsługa kontrolek), powiedzieliśmy sobie m.in o: WPFie ogółem Języku znaczników XAML Podstawowych właściwościach WPF Kontrolkach Ponieważ wiemy już całkiem sporo, to czas dowiedzieć się, czy z tych informacji można zrobić jakiś sensowny użytek, np. budując prosty, tytułowy kalkulator:) Jeśli zatem chcecie wykorzystać zgromadzoną dotychczas wiedzę, do zbudowania czegoś praktycznego...
Architektura 4923 dni, 1 godzinę, 27 minut temu 361 źrodło rozwiń
Autor: Prawie miesiąc temu pisałem o MAX_PATH i pod koniec nieco przydługiego wpisu opisałem technikę pozwalającą załadować moduł, który zapisany jest w postaci alternatywnego strumienia pliku. Niejako na marginesie wspomniałem, iż alternatywne strumienie plików nie są widoczne wprost w eksploratorze windows, a zatem tak zapisany moduł jest przed nami niejako ‘ukryty’ i dzięki temu taka technika przy odrobinie wyobraźni może stanowić pożywkę dla autorów wszelkiego rodzaju niechcianych aplikacji. DKOM Dzi...
Strona główna Przystępując do tłumaczenia aplikacji WPF miałem dokładny plan jak się za to zabrać. Mianowicie postanowiłem użyć narzędzia LocBaml, o którym dowiedziałem się z training kit'a do egzaminu 70-502. Opis całej procedury można znaleźć tutaj. Praktyka pokazała jednak, że narzędzie to pozostawia bardzo dużo do życzenia. Dalej opiszę kolejne kroki pracy z LocBaml wraz z komentarzem jak to wygląda w praktyce. UIDs Mechanizm wielojęzyczności aplikacji w WPF koncepcyjnie zbliżony jest to tego co z...
Autor: Ostatnio, przez ponad pół roku, wraz z Wojtkiem Poniatowskim, Mirkiem Pragłowskim, Tomkiem Wiśniewskim prowadziliśmy kurs C# na portalu VirtualStudy. Kurs przeznaczony był dla osób początkujących ale dzięki temu miałem możliwość zobaczenia jakie elementy .NET i C# sprawiają najwięcej trudności osobom, które dopiero zaczynają swoją przygodę z tą technologią. Jeśli masz choć trochę doświadczenia z .NET to zapewne nie znajdziesz tu zbyt wielu przydatnych informacji. Tak czy inaczej zapraszam do czyta...
Podwójnie wywołane zdarzenie w Windows Phone 7 Bawiąc się trochę z Windows Phone natrafiłem na problem, który był dość często zgłaszany w przypadku kontrolki TextBox. Błąd jest śmieszny - w emulatorze zdarzenie jest wywoływane dwukrotnie. Błąd ten w moim projekcie pojawił się w przypadku kontrolki TextBlock i obsługi kliknięcia. W projekcie potrzebowałem zrobić kontrolkę, która będzie zawierała CheckBox oraz dwa pola tekstowe – TextBlock. Każde kliknięcie na TextBlock miało zmieniać stan kontrolki...
Mobile development 4923 dni, 22 godziny, 32 minuty temu 42 źrodło rozwiń
Krótki tekst o instalacji MVC 3.0 w chmurze Azure: http://msdn.microsoft.com/pl-pl/library/asp-net-mvc-3-0-w-azure
Zachęcam do wzięcia udziału w spotkaniu o nazwie SQL Day 2011 we Wrocławiu. Udział w nim jest bezpłatny. Wszelkie szczegóły na stronie: http://sqlday.pl/ Proponuję zapisać się jak najszybciej, ponieważ ilość miejsc jest ograniczona. 2011, SQL Day, Wrocław
Bazy danych i XML 4925 dni, 21 godzin, 37 minut temu 80 ź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...
Dawno, dawno temu dowiedziałem się z bloga Tibora Karasziego (SQL Server MVP), że optymalizator może wykorzystać obiekty constraint, takie jak CHECK czy FOREIGN KEY (klucz obcy) do optymalizacji określonych klas zapytań. Jakiś czas temu próbowałem pokazać koledze z firmy, jak to działa i przy okazji dowiedziałem się ciekawej rzeczy, na którą dotąd nie natrafił...
Bazy danych i XML 4928 dni, 22 godziny, 59 minut temu 167 źrodło rozwiń
Tak mnie wzięło na wzorce projektowe ostatnimi czasy, dzisiaj coś o o odwiedzającym (wizytatorze). Polska Wikipedia mówi o nim tak odwiedzający.
Architektura 4928 dni, 22 godziny, 59 minut temu 275 źrodło rozwiń
Swojego czasu Ayende na blogu opisał dwa interfejsy, który umożliwiają w NH zrobienie prostego audytu. Interfejsy (IPreUpdateEventListener i IPreInsertEventListener) umożliwiają wstrzyknięcie pewnej operacji tuż przed wstawieniem jak i aktualizacją obiektu – idealne miejsce dla wstawienia daty aktualizacji i modyfikacji.
Architektura 4929 dni, 14 godzin, 17 minut temu 114 źrodło rozwiń
Czasami podczas wykonywania kodu może się zdarzyć, że nasz kod się wysypie z tym wyjątkiem. Problem ten występuje kiedy próbujemy się odwołać do atrybutów klas LINQ2SQL po usunięciu z pamięci powiązanego z nimi DataContextu, czyli defakto oderwania obiektów od bazy danych. Podstawową przyczyną tego problemu jest niejawna optymalizacja linq2sql zwana lazy loading. Mechanizm ten zakłada że nie ładowane są wszystkie atrybuty i kolejcjie z bazy a jedynie to co jest potrzebne, na podstawie wyrażeń lambda oraz...
SQL Server posiada kilka mechanizmów umożliwiających przechowywanie dużej ilości danych np. plików graficznych. FileStream Pierwszych z nich jest FILESTREAM. Przed pojawieniem się typu FILESTREAM, programiści najczęściej zapisywali pliki sami na dysku a lokalizacje przechowali w bazie danych. Rozwiązanie dobre jednak kłopoty powstały w momencie synchronizacji – co jeśli ktoś usunie jakiś plik z dysku? FILESTREAM to nic innego jak zapisanie pliku w bazie danych. W przeciwieństwie do typu varbinary, FILEST...
Bazy danych i XML 4931 dni, 1 godzinę, 12 minut temu 149 źrodło rozwiń
jQuery UI dialog umieszczony w aplikacji ASP.NET nie zawsze zachowuje się dobrze. Jeśli wewnątrz warstwy, która pojawia się jako zawartość dialogu, jest jakaś kontrolka serwerowa (taka jak TextBox), to po PostBacku jej wartość się czyści. Ten człowiek znalazł na to sposób:
CAPTCHA to akronim od „Completely Automated Public Turing Test to Tell Computers and Humans Apart”. W rozwinięciu: chodzi o obrazek (lub w mojej prostej wersji działanie matematyczne), którego treść (wynik) trzeba wpisać w formularzu, aby przejść dalej. Zaletą tekstowego Captcha jest prostota i przejrzystość rozwiązania. Ostatnio mój blog zac...
Przyszła pora wrócić do tematu aplikacji wielojęzycznych. Tym razem skupię się na WinForms. Zacznę od tego, że część rzeczy, o których pisałem we wcześniejszym poście na temat aplikacji ASP.NET można zastosować do innych technologii, w szczególności do WinForms. Dla przypomnienia: Jeśli chcemy aby nasza aplikacja miała wiele wersji językowych to przygotowujmy się do tego od pierwszej linijki tej aplikacji.Stałe znakowe w kodzie są złe, bardzo złe, niewyobrażalnie złe... Stałe zawierając...
MVC 3 jest fajne, nie jest idealne, ale jest bardzo dobre i można za pomocą jego stworzyć niesamowite rzeczy. Jednak mimo wszystko, MS zawsze potrafi pewne rzeczy utrudnić jak nie wiem co. W szczególności z jego ulubionym typem widoczności internal, który uważa chyba za święty nawet w aplikacjach open-source. Jednym z takich ich fopa moim zdaniem jest EditorFor, niby fajny, niby wystarczający, ale wystarczy, że chcemy dać inną klasę by wyróżnić dany element i już trzeba tworzyć EditorTemplate, a mnie to...
blackfoot.pl, autor:Ostatnio wpadła mi w ręce książka The Art of Unit Testing: with Examples in .NET autorstwa Roy’a Osherove’a. Muszę przyznać, że mam nieco mieszane uczucia po jej przeczytaniu. Minusy: Książka liczy około 280 stron, ale czytając ją miałem wrażenie, że ta liczba jest mocno naciągnięta – olbrzymie marginesy, bardzo szeroka czcionka, dużo niezagospodarowanego miejsca itp. Samym formatowaniem można by było zaoszczędzić przynajmniej kilkadziesiąt stron – ile drzew mogłoby wciąż rosnąć! Pie...
Czwarta już część cyklu o Rx. Tym razem przyszła kolej na obróbkę danych z akcelerometru telefonu z systemem WP7.
Mobile development 4938 dni, 1 godzinę, 10 minut temu 102 źrodło rozwiń