dotnetomaniak.pl - Artykuły z tagiem CaliburnMicrodotnetomaniak.pl - Artykuły z tagiem CaliburnMicro2024-03-28T20:24:24Zhttps://dotnetomaniak.pl/Tags/CaliburnMicroCopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png9025https://dotnetomaniak.pl/WPF-CaliburnMicro-ContextMenu-czyli-jak-skutecznie-utrudnic-sobie-zycie-Wojtek-Pitek-about-devWPF – Caliburn.Micro – ContextMenu czyli jak skutecznie utrudnić sobie życie | Wojtek Pitek about dev2014-09-18T21:58:43Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_QfMsG_l7q0K5tR18RGbXHA.png"/></div><div>Potrzebowałem pewien czas temu uzyskać taki w gruncie rzeczy prosty efekt. Po kliknięciu lewym przyciskiem myszki na butonie otwiera się menu z którego wybieramy interesującą opcję. Niby nic trudnego, ale ja przekombinowałem (nie pierwszy zresztą raz i nie ostatni). Na początek może jak wyglądałby kod takiego buttona:
Nic niezwykłego jak sądzę. Teraz tylko tak to zaimplementować aby otwierało się na lewy przycisk a nie na prawy. Najpierw może pokaże jak zrobiłem to w code-behind. Pierwsze co m...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-ContextMenu-czyli-jak-skutecznie-utrudnic-sobie-zycie-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f18%2fwpf-caliburn-micro-contextmenu-czyli-jak-skutecznie-utrudnic-sobie-zycie%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-28T06:56:53Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-ContextMenu-czyli-jak-skutecznie-utrudnic-sobie-zycie-Wojtek-Pitek-about-dev12250Potrzebowałem pewien czas temu uzyskać taki w gruncie rzeczy prosty efekt. Po kliknięciu lewym przyciskiem myszki na butonie otwiera się menu z którego wybieramy interesującą opcję. Niby nic trudnego, ale ja przekombinowałem (nie pierwszy zresztą raz i nie ostatni). Na początek może jak wyglądałby kod takiego buttona:
Nic niezwykłego jak sądzę. Teraz tylko tak to zaimplementować aby otwierało się na lewy przycisk a nie na prawy. Najpierw może pokaże jak zrobiłem to w code-behind. Pierwsze co m...http://www.wojciechpitek.com/2014/09/18/wpf-caliburn-micro-contextmenu-czyli-jak-skutecznie-utrudnic-sobie-zycie/http://dotnetomaniak.pl/Data/Thumbnails/small_QfMsG_l7q0K5tR18RGbXHA.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-Eventy-i-Event-Aggregator-Wojtek-Pitek-about-devWPF – Caliburn.Micro – Eventy i Event Aggregator | Wojtek Pitek about dev2014-09-15T23:39:54Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_58NDGSyMIkqmAvBPlyn0vg.png"/></div><div>Zgodnie z obietnicą pora na przekazywanie danych pomiędzy oknami(widokami).
Jak możemy zaimplementować taką bądź co bądź podstawową funkcjonalność (na razie nie myślmy w ogóle o WPF a tym bardziej o Caliburn.Micro).Public Property
Najprostszym sposobem (nie znaczy, że złym) może być zastosowanie jakiejś publicznej property np. w takim stylu:
private void GetAddress_Click(object sender, EventArgs e)
{
AddressForm addressForm=new AddressForm ();
addressForm.ShowDialog();
string ad...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-Eventy-i-Event-Aggregator-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f16%2fwpf-caliburn-micro-eventy-i-event-aggregator%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-24T06:24:45Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-Eventy-i-Event-Aggregator-Wojtek-Pitek-about-dev11530Zgodnie z obietnicą pora na przekazywanie danych pomiędzy oknami(widokami).
Jak możemy zaimplementować taką bądź co bądź podstawową funkcjonalność (na razie nie myślmy w ogóle o WPF a tym bardziej o Caliburn.Micro).Public Property
Najprostszym sposobem (nie znaczy, że złym) może być zastosowanie jakiejś publicznej property np. w takim stylu:
private void GetAddress_Click(object sender, EventArgs e)
{
AddressForm addressForm=new AddressForm ();
addressForm.ShowDialog();
string ad...http://www.wojciechpitek.com/2014/09/16/wpf-caliburn-micro-eventy-i-event-aggregator/http://dotnetomaniak.pl/Data/Thumbnails/small_58NDGSyMIkqmAvBPlyn0vg.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-okien-Wojtek-Pitek-about-devWPF – Caliburn.Micro – obsługa okien | Wojtek Pitek about dev2014-09-14T18:58:31Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_EkGqGsq-6ECSzP1ga573ww.png"/></div><div>W dotychczasowo opisanych częściach cyklu na temat MVVM (z wykorzystaniem Caliburn.Micro) wszystko było pokazane na przykładzie aplikacji mającej wyłącznie jedno okno. W rzeczywistym świecie takie aplikacje należą do mniejszości. Programy mają zwykle kilka okien i tym właśnie teraz się zajmiemy.Podejście klasyczne
W klasycznie zbudowanej aplikacji jeśli chcemy wejść np. opcje aplikacji to otwiera się nam nowe okno. Spróbujmy zmodyfikować aplikację z ostatniego przykładu.
Modyfikacja View jest pr...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-okien-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f14%2fwpf-caliburn-micro-obsluga-okien%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-24T06:24:45Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-okien-Wojtek-Pitek-about-dev11760W dotychczasowo opisanych częściach cyklu na temat MVVM (z wykorzystaniem Caliburn.Micro) wszystko było pokazane na przykładzie aplikacji mającej wyłącznie jedno okno. W rzeczywistym świecie takie aplikacje należą do mniejszości. Programy mają zwykle kilka okien i tym właśnie teraz się zajmiemy.Podejście klasyczne
W klasycznie zbudowanej aplikacji jeśli chcemy wejść np. opcje aplikacji to otwiera się nam nowe okno. Spróbujmy zmodyfikować aplikację z ostatniego przykładu.
Modyfikacja View jest pr...http://www.wojciechpitek.com/2014/09/14/wpf-caliburn-micro-obsluga-okien/http://dotnetomaniak.pl/Data/Thumbnails/small_EkGqGsq-6ECSzP1ga573ww.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-Gdy-standardowa-konwencja-to-za-malo-Wojtek-Pitek-about-devWPF – Caliburn.Micro – Gdy standardowa konwencja to za mało | Wojtek Pitek about dev2014-09-11T23:03:50Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_WiwC57zHyUOXhfas3fTXGw.png"/></div><div>Czasami są takie dni w życiu człowieka (a nawet programisty), że wszystko idzie zgodnie z planem. Każde zadanie, które dostaje jest banalne albo (lepsza opcja) zrobione już wcześniej. Miałem kiedyś taki dzień. Jakby to powiedział Skipper dzień idealny. Niestety w moim przypadku to się nie sprawdziło. W moim przypadku sprawdza się raczej “jeśli wszystko idzie zgodnie z planem to znaczy, że to zasadzka”. No ale wracając do meritum dostałem kiedyś “banalne” zadanie musiałem wymienić tło w głównym okni...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-Gdy-standardowa-konwencja-to-za-malo-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f12%2fwpf-caliburn-micro-gdy-standardowa-konwencja-to-za-malo%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-20T06:30:52Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-Gdy-standardowa-konwencja-to-za-malo-Wojtek-Pitek-about-dev21320Czasami są takie dni w życiu człowieka (a nawet programisty), że wszystko idzie zgodnie z planem. Każde zadanie, które dostaje jest banalne albo (lepsza opcja) zrobione już wcześniej. Miałem kiedyś taki dzień. Jakby to powiedział Skipper dzień idealny. Niestety w moim przypadku to się nie sprawdziło. W moim przypadku sprawdza się raczej “jeśli wszystko idzie zgodnie z planem to znaczy, że to zasadzka”. No ale wracając do meritum dostałem kiedyś “banalne” zadanie musiałem wymienić tło w głównym okni...http://www.wojciechpitek.com/2014/09/12/wpf-caliburn-micro-gdy-standardowa-konwencja-to-za-malo/http://dotnetomaniak.pl/Data/Thumbnails/small_WiwC57zHyUOXhfas3fTXGw.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-Problemy-podczas-designu-Wojtek-Pitek-about-devWPF – Caliburn.Micro – Problemy podczas designu | Wojtek Pitek about dev2014-09-07T19:06:08Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_uvRGmYsWEEaxUzSGFRrO5w.png"/></div><div>Jeśli ktoś czytał moje poprzednie posty na temat MVVMa to z pewnością wie, że jednym z plusów jego stosowania jest możliwość odseparowania(w mniejszym lub większym zakresie) pracy programisty od pracy osoby odpowiedzialnej za design aplikacji. Oczywiście tak mówi teoria i często programista sam musi opracować wygląd okna aplikacji (no ale takie jest już życie). Wyobraźmy więc sobie, że dostaliśmy wytyczne jak ma wyglądać okno (takie a takie przyciski, tutaj grid, jakiś checkbox, szerokość elementu ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-Problemy-podczas-designu-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f07%2fwpf-caliburn-micro-problemy-podczas-designu%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-17T07:28:55Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-Problemy-podczas-designu-Wojtek-Pitek-about-dev21630Jeśli ktoś czytał moje poprzednie posty na temat MVVMa to z pewnością wie, że jednym z plusów jego stosowania jest możliwość odseparowania(w mniejszym lub większym zakresie) pracy programisty od pracy osoby odpowiedzialnej za design aplikacji. Oczywiście tak mówi teoria i często programista sam musi opracować wygląd okna aplikacji (no ale takie jest już życie). Wyobraźmy więc sobie, że dostaliśmy wytyczne jak ma wyglądać okno (takie a takie przyciski, tutaj grid, jakiś checkbox, szerokość elementu ...http://www.wojciechpitek.com/2014/09/07/wpf-caliburn-micro-problemy-podczas-designu/http://dotnetomaniak.pl/Data/Thumbnails/small_uvRGmYsWEEaxUzSGFRrO5w.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-zdarzen-Wojtek-Pitek-about-devWPF – Caliburn.Micro – obsługa zdarzeń | Wojtek Pitek about dev2014-09-04T00:56:47Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_7aGGqUs7QEShh2e8J9DvJg.png"/></div><div>Najwyższy szas na zapowiadaną obsługę zdarzeń w Caliburn.Micro.
Najpierw jednak krótkie przypomnienie. Zaczniemy od prostego zdarzenie Click na ButtonieBez MVVM
Każde zdarzenie z z View ma odwzorowanie w Code-Behind. Jeśli nazwy metod się nie zgadzają kod się nie kompiluje
View
Code-behind
private void SayHi_Click(object sender, RoutedEventArgs e)
{
//some app logic
}
Z MVVM
Musimy pamiętać o konieczności wpowadzenia klasy implementującej ICommand (odsyłam do przykładów z wcześn...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-zdarzen-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f09%2f04%2fwpf-caliburn-micro-obsluga-zdarzen%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-13T23:20:53Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-obsluga-zdarzen-Wojtek-Pitek-about-dev21790Najwyższy szas na zapowiadaną obsługę zdarzeń w Caliburn.Micro.
Najpierw jednak krótkie przypomnienie. Zaczniemy od prostego zdarzenie Click na ButtonieBez MVVM
Każde zdarzenie z z View ma odwzorowanie w Code-Behind. Jeśli nazwy metod się nie zgadzają kod się nie kompiluje
View
Code-behind
private void SayHi_Click(object sender, RoutedEventArgs e)
{
//some app logic
}
Z MVVM
Musimy pamiętać o konieczności wpowadzenia klasy implementującej ICommand (odsyłam do przykładów z wcześn...http://www.wojciechpitek.com/2014/09/04/wpf-caliburn-micro-obsluga-zdarzen/http://dotnetomaniak.pl/Data/Thumbnails/small_7aGGqUs7QEShh2e8J9DvJg.pnghttps://dotnetomaniak.pl/WPF-CALIBURNMICRO-JESZCZE-TROCHE-O-BINDOWANIU-Wojtek-Pitek-about-devWPF – CALIBURN.MICRO – JESZCZE TROCHĘ O BINDOWANIU | Wojtek Pitek about dev2014-08-31T15:15:34Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_nAno6FsNcUixLcjL9B-nnw.png"/></div><div>W poprzednim poście pokazałem prostą aplikację z wykorzystaniem Caliburn.Micro. Teraz chciałem pokazać bardziej zaawansowane (ale tylko trochę) sposoby bindowania.Bindowanie bezpośrednio do obiektu
W przykładzie, który został pokazany uzupełniając dane w textboxach przypisujemy te dane do odpowiedniej property w klasie. Fragment dla przypomnienia
public string LastName
{
get { return _person.LastName; }
set
{
_person.LastName = value;
NotifyOfPropertyChange("Last...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CALIBURNMICRO-JESZCZE-TROCHE-O-BINDOWANIU-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f08%2f31%2fwpf-caliburn-micro-jeszcze-troche-o-bindowaniu%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-10T10:14:36Zhttps://dotnetomaniak.pl/WPF-CALIBURNMICRO-JESZCZE-TROCHE-O-BINDOWANIU-Wojtek-Pitek-about-dev12100W poprzednim poście pokazałem prostą aplikację z wykorzystaniem Caliburn.Micro. Teraz chciałem pokazać bardziej zaawansowane (ale tylko trochę) sposoby bindowania.Bindowanie bezpośrednio do obiektu
W przykładzie, który został pokazany uzupełniając dane w textboxach przypisujemy te dane do odpowiedniej property w klasie. Fragment dla przypomnienia
public string LastName
{
get { return _person.LastName; }
set
{
_person.LastName = value;
NotifyOfPropertyChange("Last...http://www.wojciechpitek.com/2014/08/31/wpf-caliburn-micro-jeszcze-troche-o-bindowaniu/http://dotnetomaniak.pl/Data/Thumbnails/small_nAno6FsNcUixLcjL9B-nnw.pnghttps://dotnetomaniak.pl/WPF-CaliburnMicro-Some-Kind-of-Magic-Wojtek-Pitek-about-devWPF – Caliburn.Micro Some Kind of Magic | Wojtek Pitek about dev2014-08-27T19:48:49Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Fw1aNMr1B0m0AJcqMK4VEg.png"/></div><div>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...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/WPF-CaliburnMicro-Some-Kind-of-Magic-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f08%2f27%2fwpf-caliburn-micro-some-kind-of-magic%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-09-06T07:19:42Zhttps://dotnetomaniak.pl/WPF-CaliburnMicro-Some-Kind-of-Magic-Wojtek-Pitek-about-dev32210Pod 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...http://www.wojciechpitek.com/2014/08/27/wpf-caliburn-micro-some-kind-of-magic/http://dotnetomaniak.pl/Data/Thumbnails/small_Fw1aNMr1B0m0AJcqMK4VEg.pnghttps://dotnetomaniak.pl/Tworzenie-bootstrappera-aplikacji-przy-uzyciu-CaliburnMicro-Premium-HandsTworzenie bootstrappera aplikacji przy użyciu CaliburnMicro ~ Premium Hands2012-05-10T08:01:02Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_nYS1MAldjkG4On3aJedvgw.png"/></div><div>Witam po długiej przerwie. W dzisiejszym wpisie postaram się krótko opisać w jaki sposób stworzyć bootstrapper aplikacji przy użyciu CaliburnMicro. Ponadto przedstawię w jaki sposób skonfigurować bootstrapper w taki sposób, aby Caliburn wykorzystywał nasz własny kontener IOC.
Wstęp
CaliburnMicro jest to framework MVVM, który w znacznym stopniu ułatwia i przyśpiesza pisanie aplikacji pod WPF,Silverlight,WindowsPhone oraz WinRT. Zdecydowałem się poznać ten framework z uwagi na jego przenośność n...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Tworzenie-bootstrappera-aplikacji-przy-uzyciu-CaliburnMicro-Premium-Hands"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fpremium-hands.blogspot.com%2f2012%2f05%2ftworzenie-bootstrappera-aplikacji-przy.html" style="border:0px"/></a></div></div>premium-hands-nethttps://dotnetomaniak.pl/Users/GEJYQr2FzUSuNlNtdSnyMQ2012-05-16T06:29:13Zhttps://dotnetomaniak.pl/Tworzenie-bootstrappera-aplikacji-przy-uzyciu-CaliburnMicro-Premium-Hands1910Witam po długiej przerwie. W dzisiejszym wpisie postaram się krótko opisać w jaki sposób stworzyć bootstrapper aplikacji przy użyciu CaliburnMicro. Ponadto przedstawię w jaki sposób skonfigurować bootstrapper w taki sposób, aby Caliburn wykorzystywał nasz własny kontener IOC.
Wstęp
CaliburnMicro jest to framework MVVM, który w znacznym stopniu ułatwia i przyśpiesza pisanie aplikacji pod WPF,Silverlight,WindowsPhone oraz WinRT. Zdecydowałem się poznać ten framework z uwagi na jego przenośność n...http://premium-hands.blogspot.com/2012/05/tworzenie-bootstrappera-aplikacji-przy.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_nYS1MAldjkG4On3aJedvgw.png