Dodatek pozwala programistom używającym WinForms używać kontrolek Microsoft Windows 7 Ribbon w aplikacjach. Ponadto, zawiera on bibliotekę RibbonLib, która zapewnia wsparcie dla wstążki i proste przykłady, napisane w C# i VB.NET, pokazujące, jak używać biblioteki i różnych dostępnych właściwości wstążki.
Autor: Czas żeby wykorzystać napisaną w ostatnim poście kontrolkę do wyświetlania obrazków przedstawioną w poprzednim poście. Na razie wykorzystywana będzie jedynie podczas przeglądania struktury dysku. Sprzężenie między aktualnym katalogiem a zdjęciami również będzie tymczasowe. Aby w prosty sposób móc przekazać listę zdjęć do kontrolki ImageListView wystawiona na zewnątrz niej zostanie jedna DependencyProperty typu ObservableCollecion
Autor: W poprzednim wpisie opisany został algorytm, jakim można się kierować przy wypracowywaniu rozwiązania pozwalającego na interakcję myszy ze sceną 3D. W tym wpisie zaprezentowany zostanie gotowy kod w języku C# pozwalający na osiągnięcie założonego celu. Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D.W przygotowani...
Autor: O tym jak obracać obiekty (lub kamerę) w scenie 3D pisałem już jakiś czas temu w artykułach: „Transformacje i przekształcenia 3D” „Obracamy, przesuwamy, skalujemy? Kamerę (i nie tylko)”. W oparciu o opisane tam rozwiązania i przy pomocy kontrolek typu Slider, tworzona przeze mnie aplikacja (MeshDiagram3D), transformuje kamerę w scenie, przez co sprawia wrażenie transformacji sceny. Nie każdemu jednak spodoba się przesuwanie suwaków (Slider), niektórzy chcieliby pewnie obracać scenę, „łapiąc” za ob...
Niemal każdy program graficzny ma funkcjonalność: „dopasuj obraz do wielkości strony” (Zoom to fit, Auto-Zoom, itp ...). Zobaczmy jak można zrealizować taką funkcjonalność w programie pokazującym sceny 3D oparte o WPF 3D.
autor: Wykonywałem ostatnio skomplikowane akrobacje z bashem, plikiem /etc/rc.local, modułami kernela i innymi linuksowymi wynalazkami, aby uruchomić system spod znaku pingwina na swoim laptopie. Problem leżał w posiadaniu przezeń dwóch kart graficznych, działających w trybie hybrydowym, z których jedna (zintegrowana) działa zawsze, natomiast druga (zewnętrzna) budzi się na żądanie w celu obsłużenia bardziej skomplikowanych aplikacji graficznych i gier. Naturalnie Linux nie jest przygotowany do współprac...
Autor: Tym razem nie będzie nic odkrywczego, a wpis ten jest raczej „ku pamięci”, abym nie musiał więcej razy tego szukać (a może jeszcze komuś się przyda ...). Otóż te wpis będzie poświęcony iloczynowi wektorowemu.Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D.Czemu potrzebowałem iloczynu wektorowego? Otóż w aplikacji,...
Większość aplikacji w jakich tworzeniu uczestniczyłem była aplikacjami webowymi. Postanowiłem zmierzyć się z innym zadaniem – aplikacją desktopową, która oparta będzie o dostępne w .NET mechanizmy. Nie jest to komercyjny projekt a poligon testowy polegający na określeniu architektury, zaprojektowaniu systemu i jego implemenacji. Wiadomo – teoria teorią, jednak dopiero zderzenie się w praktyce z poruszanymi zagadnieniami pozwala na nauczenie się czegokolwiek zdecydowanie skuteczniej. Tyle tytułem nudnego...
autor: Pisałem wcześniej, że WPF 3D może być wykorzystane przy budowie interfejsów użytkownika, zastanówmy się więc jak można zapewnić interakcję sceny 3D z użytkownikiem. W tym artykule pokazane będzie jak można wyznaczyć wskazany myszą obiekt w scenie 3D. Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D.Aby zapewnić uży...
Od jakiegoś czasu borykałem się z problemem przypisania nazw i ich wartości w comboboxie. Dla mnie to były dane i ich id w bazie danych. Przypisanie odbywało się podczas wywoływania zdarzenia Click dla comboboxu. W kodzie wyglądalo wszystko ok, ale podczas klikania zostal wywoływany error :Items collection cannot be modified when the DataSource property is set Ale problem udało się rozwią...
Kontynuując poprzedni wpis dotyczący nauki przez przykład, określiłem tzw. opowieści użytkownika. Pozwoli to na zdefiniowanie wymagań dotyczących budowanej aplikacji. Jeśli będziemy wiedzieć czego użytkownik oczekuje, będziemy mogli zaproponować rozwiązanie spełniające te wymagania. Poniżej opowieści: Aplikacja ma wspomagać zarządzanie zadaniami rozdzielanymi dla użytkowników firmy.Po wykonaniu zadania, przenoszone jest ono do „archiwum”, tak aby możliwy był podgląd zrealizowanych już zadańZadania mają p...
Po opublikowaniu mojego ostatniego wpisu dotyczącego LINQ i jego mniej znanych funkcjonalności i trików zastanawiałem się, czy w zbiorze metod oferowanych przez LINQ znajdzie się coś równie niedocenionego i równie użytecznego jak SelectMany(). Nie oczekiwałem zbyt wiele, jednak ku mojemu zaskoczeniu udało mi się odnaleźć perełkę w postaci przeciążenia metody Aggregate(). Przy okazji dowiedziałem się czegoś nowego o Where() i przypomniałem sobie o metodach służących ...
Prawie trzy lata temu, w listopadzie 2007, światło dzienne ujrzał .NET Framework 3.5, a razem z nim LINQ. Przez ten czas w sieci pojawiły się dziesiątki artykułów opisujących Language Integrated Query, jego zalety, wady oraz możliwości. Przy okazji namiętnego refaktoringu części projektu Rankingu Sejmowego (również z użyciem LINQ) pomyślałem, że dobrze byłoby zebrać w jednym miejscu informacje dotyczące mniej znanych ale bardzo przydatnych trików związanych z wykorzystaniem LINQ. ...
Jednym z problemów, na jakie może napotkać programista tworzący trójwymiarową scenę przy pomocy WPF 3D, jest rysowanie linii. W tym artykule zostanie opisane, dlaczego taki problem może zaistnieć i jak go można rozwiązać.
W poprzednich wpisach opisane zostały zagadnienia związane z rysowaniem linii w scenach 3D oraz wymienione zostały pewne gotowe rozwiązania pozwalające takie linie rysować. Zastanówmy się jednak chwile i pomyślmy nad rozwiązaniami alternatywnymi, przecież scena 3D wyświetlona na płaskim ekranie jest tylko pewnego rodzaju projekcją trójwymiarowej przestrzeni na płaszczyznę, więc dlaczego nie rysować zwykłych linii bezpośrednio na tej płaszczyźnie? Niniejszy wpis poza prezentacją różnych i niezależnych od ...
W poprzednim artykule opisane zostały zagadnienia związane z rysowaniem linii w scenie 3D opartej o WPF. W tym artykule zostaną opisane gotowe rozwiązania umożliwiające kreślenie linii.
Obiecałem sobie nie pisać przez jakiś czas o (Fluent) NHibernate ale jak widać nie potrafię =) Przy okazji refactoringu kodu przypomniałem sobie o pewnym drobny problemie, który napotkałem testując kod repozytoriów. Podczas przeprowadzania testów z wykorzystanie SQLite zauważyłem, że właściwości typu enum zapisywane są w bazie danych pod postacią ciągu znaków, a nie jak oczekiwałoby się pod postacią typu całkowitego (najczęściej i najprawdopodobniej pod postacią integera =)....
autor: Wydaje mi się, że istnieje tylko niewielka szansa, że podwojenie liczby systemowych bitów zaowocuje problemami z uruchomieniem jakieś aplikacji, która wcześniej działała dobrze. Jak wiadomo jest tu emulacja trybu 32-bitowego, która sprawdza się bardzo dobrze. Skąd to wiem? Ano stąd, że okazji do jej wykorzystania jest mnóstwo – i w zasadzie to właśnie jest problem. Wersji aplikacji dedykowanych do x64 nie jest znowu tak dużo, a jeśli już da się takie znaleźć, to często są one pod znacznie gorszą o...
Od jakiegoś czasu staram się wykształcać w sobie nawyk regularnego pisania testów jednostkowych dla wykrytych błędów. Dlaczego? Możliwość sprawdzenia działania programu przy pomocy testów jednostkowych jest najprostszym wskaźnikiem jakości (choć bardzo ogólnym i nie jedynym!) wytwarzanego kodu. Testy jednostkowe są swego rodzaju drogowskazem, który stale pokazuje programiście dobry kierunek "jeżeli-czegoś-nie-można-przetestować-to-trzeba-to-przebudować".
Czasem zachodzi potrzeba, by element sceny 3D wiedział o swojej obecności w scenie, np. w celu odpowiedniego obrócenia się, by być przodem do kamery. Oczywiście przy jego dodawaniu do sceny można by było przekazać do niego odpowiednie informacje o scenie, ale okazuje się, że każdy element sceny może sam uzyskać odpowiednie informacje, gdyż wszystkie elementy sceny 3D w WPF (i nie tylko sceny 3D) tworzą drzewo wizualne (visual tree). Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wy...