Tips & tricks – FileExistsAsync Dziś podzielę się kodem metody, która sprawdza czy istnieje plik w zadanym katalogu. Niby nic, ale jednak WinRT jak na razie nie posiada takiej funkcji i trzeba samemu coś takiego napisać. Metoda nie jest skomplikowana jak widać poniżej.public async static Task
W ostatnich postach pisałem o słabych referencjach oraz podałem przykładowe implementacje obsługi zdarzeń. Niestety mimo generycznego rozwiązania, jednej wady nie udało się usunąć a mianowicie tzw. sacrifice object. Przed rozpoczęciem czytania tego wpisu zachęcam najpierw do zapoznania się z poprzednimi. WeakEventManager to klasa WPF. Jak wspomniałem, często nie wiemy kiedy listener jest usuwany z pamięci w różnego rodzaju kontrolkach. Z tego względu to właśnie WPF dostarcza odpowiednią klasę. W wersji...
W WPF dostępne są klasy ItemsPanelTemplate i DataTemplate, dzięki którym możemy zdefiniować własny układ oraz wygląd elementów prezentowanych przez wybraną kontrolkę. W tym temacie pokażę zastosowanie wspomnianych klas na przykładzie obiektu ListView wyświetlającego elementy kolekcji.
Ostatnio pisałem swoją własną wtyczkę efektową VST przy użyciu C# WPF i wrappera VstNET. Do ukończenia mojego efektu musiałem rozwiązać pewien problem: przesuwanie i zmiana rozmiaru własnej kontrolki WPF. Próbowałem najpierw zrobić to "po swojemu" czyli reagować odpowiednio na zdarzenia kliknięcia lewego przycisku myszki i ruchu myszki. Jednak efekt nie był zadowalający. Gdy ruchy myszką były za szybkie, kursor wylatywał poza obszar reagujący na kliknięcie i kontrolka przestawała się przesuwać. ...
Dziś miało być o praktycznym przykładzie wykorzystania WeakReference ale stwierdziłem, że najpierw powrócimy znów na chwilę do WPF. Co myślicie o takiej prostej klasie:class TimePresenterViewModel:BaseViewModel { privatereadonly DispatcherTimer _timer; constint RefreshTime=6*1000; public TimePresenterViewModel() { _timer=new DispatcherTimer(); _timer.Interval = TimeSpan.FromMilliseconds(RefreshTime); _timer.Tick += TimerTick; _timer.Start(); } void TimerTic...
Trial i Windows Store API Cały czas rozpisuję się o nowościach i możliwościach jakie mają aplikacje metro wszystko fajnie jednak nie zapominajmy o rynku na jakim będą dostępne nasze aplikacje a mianowicie Windows Store. Obecnie na świecie jest ok 500 milionów komputerów PC z Windows 7. Niech nawet tylko 10% z nich przejdzie na Windows 8 to i tak dostęp będziemy mieć do 50 milionów potencjalnych klientów. Nie ma co robi warzenie (przynajmniej na mnie). Microsoft daje nam narzędzia do łatwiejszego...
W WPF Adorner to element pozwalający dołączać do innych kontrolek jakieś efekty graficzne. Na przykład jeśli użytkownik wpiszę nieprawidłową wartość w pole edycyjne, wtedy Adorner może dołączyć do takiego pola ikonkę ostrzegając, że wpisano niepoprawną wartość. Adorner zatem doczepiany jest do jakieś kontrolki a rysowany jest na tzw. AdornerLayer. Spróbujmy zaimplementować adroner, który po doczepieniu do kontrolki pozwala zmienić jej rozmiar. Zacznijmy od zadeklarowania naszego adorner’a:publicclass Re...
Ostatnio było dużo o wielowątkowości więc może zmieńmy temat i zajmijmy się przez dwa posty tematyką WPF. Celem dzisiejszego wpisu jest wyjaśnienie klasy VisualCollection, która będzie niezbędna aby omówić tzw. Adorner. W większości przypadków, XAML w zupełności wystarcza jeśli chodzi o tworzenie interfejsu użytkownika. W WPF istnieje jednak drugie podejście pozwalające rysować elementy i kontrolki. Można manualnie stworzyć kolekcje VisualCollection oraz dodać do niej wszelkie obiekty. Na przykład:public...
Suspended Dzisiaj opiszę czym jest suspended. Pod tym tajemniczym wyrazem kryje się stan aplikacji która nie jest na pierwszym planie czyli użytkownik aktualnie z niej nie korzysta. Podobny stan posiadają aplikacje pisane na smartfony z Windows Phone 7. Po co wspominam o tym stanie? Ponieważ gdy aplikacja znajduje się w stanie zamrożenia (suspended) może nastąpić sytuacja, że system bez pytania zamknie aplikację a użytkownik gdy będzie chciał powrócić do niej z powrotem zdziwi się, że uruchamia si...
W dzisiejszym wpisie pokażę w jaki sposób dla danego obiektu WPF wygenerować kod XAML oraz jak taki kod wczytać dynamicznie podczas działania programu. W tym celu użyję klas XamlWriter i XamlReader.
Tiles Do tej pory cały czas pisałem o tematach cięższych wymagających więcej uwagi dlatego dziś postanowiłem opisać krótki i przyjemny temat. A jest to temat kafelka aplikacji. Spotykam się u wielu osób z podejściem iż kafelek aplikacji traktują po macoszemu to znaczy wstawiają obrazek który mniej lub bardziej pasuje do aplikacji. A trzeba pamiętać że kafelek aplikacji jest pierwszą rzeczą jaką widzi użytkownik i zarazem jedyną rzeczą jaka zachęci do wejścia w szczegóły aplikacji. Tak więc trzeba ...
Photo & Video Capture Dziś zajmiemy się dostępem do kamery aby móc robić zdjęcia i nagrywać filmy z poziomy naszej aplikacji. Po pierwsze potrzebujemy w naszym projekcie dwóch przestrzeni nazw z których będziemy korzystać.using Windows.Media.Capture; using Windows.Storage; Pierwsza przestrzeń zawiera między innymi klasy do obsługi kamery. Natomiast druga zawiera klasy odpowiedzialne za operowanie na plikach, strumieniach itd.. Sama obsługa kamery jest bardzo prosta i wygląda następująco.private...
Akcja O’Reilly i kalkulator zarobków O’Reilly Mam dla was dziś dwa niusy. Pierwszy to akcja wydawnictwa O’Reilly w ramach której można zakupić książkę “Programming Windows Sixth Edition” za jedyne 10$. Jednak najlepsze w tej akcji nie jest centa lecz fakt że jeśli kupi się książkę teraz dostanie się darmowy dostęp do dalszych wersji. Aktualnie książka ma status Consumer Preview a będą jeszcze Release Preview i Final. Cena 10$ obowiązuje do 31 maja więc costał tylko tydzień. Po tym ...
Styl Metro–video tutorial W ubiegłym tyg. ukazał się pierwsze video z cyklu opisującego styl metro w formie video. Prowadzi je Grzegorz Róg właściciel portalu eduweb.pl, który jest autorem wielu publikacji na temat projektowania stron WWW jak również aplikacji na Windows Phone. Serdecznie zapraszam do obejrzenia filmiki są świetnie tu macie linka. Filmiki są króciutkie ale treściwe.Dodaj do ulubionych:LubięBądź pierwszą osobą, która doda ten wpis do listy ulubionych. Zamiesz...
Settings Wita w dzisiejszym poście dalej męczę temat charms bar (Win + C) czyli prawego wysuwanego paska. Dziś zajmiemy się ustawieniami naszej aplikacji. Co to znaczy? W przypadku aplikacji metro pisanych na Windows 8 Microsoft mocno zaleca używania jednego miejsca dla ustawień znajduje się właśnie na prawym wysuwanym pasku pod przyciskiem Settings. Jest to miejsce gdzie powinniśmy trzymać ustawienia ponieważ i tak użytkownik musi wejść w to miejsce jeśli będzie chciał zmienić ustawienia nadane p...
Search Witam dziś zamierzam Wam przedstawić funkcję szukania która została zaimplementowana przez Microsoft w metro. Opcja ta jest dostępna dla każdej aplikacji metro i pan Microsoft zaleca aby korzystać właśnie z tego wyszukiwania niż pisać własne. Jak by nie patrzeć ma kilka ciekawych możliwości to szukanie w metro. Między innymi możemy przeszukiwać zawartość aplikacji gdy jest wyłączona. Możemy dodać również mechanizm podpowiedzi w momencie pisania szukanej frazy. Ok to przejdźmy do kodu.Najpi...
Dzisiejszy wpis będzie poświęcony opisowi programu z zajęć „baza hoteli”. Co prawda z bazą ma on nie wiele wspólnego, bardziej miał nam przybliżyć ideologię tworzenia aplikacji z więcej niż jednym okienkiem. Specyfikacja Napisz program służący do przechowywania danych o różnych hotelach. Program miał się składać z dwóch okienek. Pierwsze służące do prezentacji danych z możliwością usuwania. Drugie okienko – dodawanie/edycja danych. Do zaprojektowania okienka i nad innymi elementami musieliśm...
Sharing Sharing jest charms umożliwiającym udostępnianie danych z własnej aplikacji do innej. Funkcja ta jest dostępna po wysunięciu się prawego paska pomocy (Win + C). Dzięki tej funkcji możliwa jest komunikacja pomiędzy aplikacjami i przesyłanie pomiędzy mini danych jak.tekstlinkizdjęciaplikizawartość w formie HTMLlub własna struktura Jak widać mamy durze pole do popisu oczywiście możemy łączyć ze sobą przesyłane dane np.: tekst i zdjęcie itd.. W przypadku ostatniej możliwości czyli własna stru...
Semantic Zoom Semantic Zoom jest to nowa funkcja jaką można spotkać w Windows 8. Umożliwia oddalanie i przybliżanie obiektów na ekranie. Idealnie spisuje się jeśli mamy do zaprezentowania dużą liczbę elementów i nie chcemy aby użytkownik długo przewijał w poszukiwaniach. Semantic Zoom pozwala nam oddalić wyświetlanie elementy przez co mieści się ich więcej na ekranie i przewijanie jest szybsze. Żeby muc korzystać z tej funkcji wystarczy dwoma palcami albo odsuwać je od siebie albo przybliżać. Oczy...
Snap & Fill Jest to ciąg dalszy moich artykułów na temat programowania pod metro dla Windows 8. Dziś mam dla was funkcje snap i fill. Czym są? A są to nowe tryby w ramach których może pracować nasza aplikacja. Tryb snap (snapping) pozwala na podgląd zawartości aplikacji. Aplikacja jest zadokowana do lewej lub prawek krawędzi i ma 320 pikseli szerokości. Nie może mieć więcej lub mniej szerokości. Tryb ten jest dostępny dopiero od rozdzielczości 1366×768. W mniejszej rozdzielczości funkcje snap i fill...