Pod koniec poprzedniego postu na temat MVVM wspomniałem o Caliburn.Micro jako narzędziu, które czyni moją pracę lżejszą. Dla tych, którzy nie wiedzą jest to framework wspomagający w tworzeniu aplikacji opartej o wzorzec MVVM. Jeśli ktoś zastanawia się dlaczego od razu nie wspomniałem o tym frameworku i poprzedni przykład robiłem bez jego użycia to moja odpowiedź jest prosta (i poparta gorzkim doświadczeniem). Otóż robiąc coś zaawansowanego musimy mieć świadomość mechanizmów za tym stojących inaczej...
Today, working on a new feature for my pet project, I realized that I have to notify the view, that all properties in view model have changed. The most obvious way to achieve that would, of course be to rise PropertyChange event a bunch of times. protected virtual void OnPropertyChanged(Expression
W poprzednim poście opisałem (bardzo ogólnie) dlaczego już nie lubię WinForms i dlaczego używam WPF. Przez używanie WPFa mam na myśli WPF+MVVM ponieważ szczerze mówiąc to uważam, że stosowanie WPFa bez MVVMa to strata czasu, ale to tylko moje zdanie (jak większość opinii wyrażona na tym blogu). Czym więc jest ten cały MVVM? Otóż jest to ni mniej ni więcej wzorzec projektowy. Na początek trochę teorii (niestety bez niej się nie da).Model Obiekty biznesowe, serwisy i wszystko to co jest związane z ...
Jestem geekiem(a może nerdem?) jeśli chodzi o nowe technologię. Po prostu je uwielbiam, ale mimo tego nie mogłem przekonać się do jednego (i to w cale nie do takiej nowości). Nie mogłem przekonać się do laptopa. Po prostu pogardzałem takim sprzętem. Liczyła się dla mnie tylko stacjonarka wraz z jej nieposkromioną (do czasu) mocą. Aż pewnego dnia coś we mnie pękło: Muszę kupić sobie laptopa Wzbraniałem się przed tym długi czas, ale w końcu nie wytrzymałem. Jadę do domu na święta a muszę mieć dost...
Od pewnego czasu wszystkie nowe aplikację okienkowe tworzę w WPFie. Próba napisania czegoś w Winformsach sprawia mi ból. A przecież gdy zaczynałem to Winformsy były moją pierwotną technologią (bo php litościwie pomine). To właśnie WinFormsy wraz z prostotą C# (o naiwności!) były przyczyną mojego zainteresowania platformą .net. Pamiętam jak przez mgłę mój pierwszy projekt w WinFormsach. Jakieś matematyczne obliczenia (średnia, mediana itp.), ale istotny był graficzny interfejs (jego brak powodował ...
Ponieważ popełniłem kiedyś coś co nazwałem Fody ciekawa ptaszyna – część 1 to w związku z tym należało zrobić coś co nazywa się Fody cz2 co też obecnie czynie. Fody ma wiele pakietów, ale opiszę teraz tylko te wybrane z których kiedyś korzystałem (lub widziałem sens ich zastosowania). Tworząc aplikacje okienkowe musimy również przemyśleć sposób ich dystrybucji. Należy go dostosować do poziomu zaawansowania klienta oraz do nakładów pracy związanych z danym sposobem. Pisząc dużą aplikację wymaga...
Tak jak napisałem w jednym z wcześniejszych postów nie zajmuję się już tworzeniem raportów w Crystal Reports. Nie oznacza to jednak, że nie piszę kodu, który wykorzystuje te raporty. Dlatego też postanowiłem zebrać w jednym miejscu informację, które zaczynającemu pracę z Crystal Reports developerowi służyłyby pomocą (przy czym jest to pomoc ze strony samouka, ale lepsza tak niż żadna).1. Środowisko pracy Teoretycznie wystarczy pobrać odpowiednią wersję ze strony producenta zainstalować i możemy dz...
Może słyszeliście o takim ptaszku Fody. Ostatnim czasem ptaszek ten podbił moje serce. Korzystam z jego usług tak często jak się tylko da. Ogólnie muszę podziękować Pawłowi Łukasikowi za prezentacje na KGD.NET, która otworzyła mi oczy PropertyChanged.Fody To chyba mój ulubiony pakiet, ale zanim go opiszę muszę zrobić drobne wprowadzenie. Od początku mojej przygody z WPFem ( i ogólnie XAMLem) strasznie żmudnym procesem było bindowanie pomiędzy DataModelem a widokiem (niech zasłona milczenia zakryje fak...
Finally, I had time to watch Build 2014 sessions. Here are the best I have seen. Thinking for programmers (Leslie Lamport) Windows and the Internet of Things (Steve Teixeira) Building Azure Web Sites with Visual Studio Online “Monaco” (Chris Dias) What’s New for ASP.NET and Web in Visual Studio 2013 Update 2 and Beyond (Scott Hanselman and Scott Hunter) Modern C++: What You Need to Know (Herb Sutter) The Future of C# (and VB) Go Mobile with C# and Xamarin (Miguel de Icaza) TypeScript (Anders Hejlsberg) D...
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...
Dzisiejszy post będzie bardzo krótki. Jako, że zaczynam przygodę z Windows Phone 8 (jak na razie nie jest tak źle) interesuję się wszelkimi bibliotekami, udogodnieniami itp. Dzisiaj jestem pozytywnie zaskoczony.
Usually when we need to retrieve data from database server, we write code which looks like that using (var session = DataAccesLayer.Instance.OpenSession()) { using (var transaction = session.BeginTransaction()) { var projects = session.QueryOver
Kilka lat temu robiłem coś takiego za pomocą ILMerge. Wymagało to własnego Post build event, etc. Teraz jest rozwiązanie out of the box - Costura.Fody. Wystarczy ściągnąć nugetem.
Over a year ago I created simple Windows 8 app: Pomidoro (the name ‘Pomodoro’ was already taken at the Windows Store). And yes, it is for applying The Pomodoro Technique. I published it to the Windows Store on January 7, 2013. The reason I created this app, was to learn Windows 8 Metro apps development. From time to time I receive e-mails that my app got some third party award or was reviewed by some website I have never heard about.
Introduction I think one of the most important features of Resharper is on-the-fly code quality analysis. Basically, every time Resharper finds possible pitfall in code, it indicates this with appropriate warning. The most common warning is "Possible System.NullReferenceException". You can easily reproduce it by writing this code List
O problemach życia ze sprzętem z wysokim DPI pisał Scott Hanselman już jakiś czas temu (Living a High-DPI desktop lifestyle can be painful). Ja, dotychczas nie miałem z tym problemów jako, że nie posiadałem takowego. Od jakiegoś czasu pracuję jednak na MacBook Pro Retina, który z rozdzielczością 2560×1600 wystawia mnie na wszystkie te problemy, o których w swoim poście pisał Scott. Dziwne to było na początku, ale po chwili przyzwyczajenia jakoś one szczególnie mi nie przeszkadzają. Ot kolejne problemiki ...
Cztery lata temu, popełniłem post „Zapomnijcie o windows forms”. Po czterech latach i wielu innych technologiach po drodze wracam do tematu. Ostatnio miałem okazję napisać mała aplikację w WPF, to był raczej test, a nie aplikacja dla klienta, jednak nie zmienia to faktu, że musiałem przysiąść i to napisać :) Nie wiem czy to tylko mnie tyczy, czy są też inni ludzie którzy podobnie myślą, ale osobiście nie zobaczyłem, żadnych pozytywnych zmian w tej technologii mimo upływu 48 miesięcy.
An application which I'm currently developing has quite complicated authorization system. That is why, we can not use role based authorization, and basically every developer is obliged to call appropriate security check method in every controller action he or she writes. As You probably know it is quite easy to forget about that, therefore I decided to write a test which would check whether all controller's action invokes this security critical function. After hours of searching for some anchor point, I ...
I think almost every .NET developer is familiar with INotifyPropertyChanged interface. Typical implementation of this interface looks more or less like that: public class NotifyPropertyBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged( Expression