Przykłady

Uzupełnieniem niniejszego dokumentu jest solucja Visual Studio z pełną listą przykładów podzielonych na oddzielnego projekty. Aby uruchomić przykłady można zbudować całą solucję, następnie skopiować pliki wynikowe do folderu instalacyjnego POS-a i zarejestrować tylko jeden moduł inicjujący POSUsageExample.dll (instrukcja rejestracji znajduje się w pliku README.txt solucji). Alternatywą jest budowanie każdego projektu z osobną (w zależności który przykład chcemy przeanalizować) i tylko tę wybraną bibliotekę zarejestrować w aplikacji POS. Projekty podzielone są na trzy kategorie: przykłady użycia kontrolek, przykłady całych widoków oraz przykłady rozszerzalności istniejących widoków.

Przykłady użycia kontrolek POS-a

Przykłady użycia kontrolki ComboBox2

Przykłady użycia kontrolki ze standardowym widokiem modalnym listy do wyboru oraz z niestandardową prezentacją. Dostępne w projekcie ComboBox2Example.

Przykład użycia kontrolki ButtonSpinner

Przykład użycia kontrolki wraz z TextBoxem do sterowania wartościami liczbowymi wprowadzonymi przez użytkownika. Dostępny w projekcie ButtonSpinnerExample.

Przykład użycia kontrolki ComboBoxButton

Dostępny w projekcie ComboBoxButtonExample.

Przykład użycia kontrolki MultiButton

Przykład użycia kontrolki wraz z pełną zarządzalnością w aplikacji. Dostępny w projekcie MultiButtonExample.

Przykład użycia kontrolki ItemsContainer

Przykłady użycia kontrolki wraz z pełną zarządzalnością w aplikacji. Pierwszy z definicją elementów w xaml-u, drugi z dynamicznie asynchroniczną budowaną zawartością w kodzie. Dostępne w projekcie ItemsContainerExample.

Przykład użycia kontrolki Grid

Przykład budowy w pełni zarządzalnego widoku w oparciu o Grid. Dostępny w projekcie GridExample.

Przykład użycia kontrolki FieldControl

Przykłady użycia kontrolki wraz z pełną zarządzalnością i obsługą walidacji. Dostępne w projekcie FieldControlExample.

Przykład użycia kontrolek TabControl i TabControlItem

Przykłady użycia kontrolki TabControl oraz TabControlItem do tworzenie zakładek na widoku. Dostępny w projekcie TabControlExample.

Przykład użycia kontrolki DatePicker2

W projekcie DatePicker2Example zamieszczono kod przykładowego użycia kontrolki wraz z walidacją.

Przykłady tworzenie widoków

Prosty moduł z nowym pustym widokiem

Przykład przedstawia w jaki sposób należy tworzyć moduły rozszerzające dla POS-a. Dostępny w projekcie EmptyViewExample. Składa się z klasy Module pozwalającej na rejestrację modułu oraz pustego widoku (SimpleView, SimpleViewModel), wraz z trybem zarządzania interfejsem (DesignSimpleViewModel). Widok został zarejestrowany w postaci kafla w menu głównym aplikacji POS.

Typowy widok listy dokumentów

Przykład przedstawia budowę typowego widoku z listą pobierającą dane asynchronicznie, wspierającą sortowanie oraz stronicowanie, wyszukiwarką oraz filtrami. Składa się z klasy Module (która odpowiada za rejestrację modułu rozszerzającego oraz widoku w postaci kafla w menu głównym aplikacji POS) oraz klas widoku i view-modelu listy – SimpleListView, SimpleListViewModel i DesignSimpleListViewModel. Przykład dostępny w projekcie DataGridCompleteExample.

Typowy widok dokumentu handlowego

Przykład przedstawia budowę typowego widoku dokumentu handlowego, zawierającego DataGrid oraz wyszukiwarkę SearchBox. Dostępny w projekcie DocumentExample.

Widok dokumentu handlowego z obsługują atrybutów

Przykład budowy widoku dokumentu handlowego wzbogacony o obsługuję atrybutów dla listy oraz w postaci dynamicznie generowanych kontrolek w kontenerze widoku. Dostępny w projekcie DocumentAttributesExample.

Przykłady rozszerzalności istniejących widoków POS-a

Dodawanie kontrolki do kontenera istniejącego widoku

Projekt ControlExtensionsExamples zawiera przykład opisany w tym dokumencie oraz drugi pokazujący dodawanie przycisków zarówno do kontenera ItemsContainer jak i na Grid do istniejącego widoku stworzonego w tym samym projekcie.

Dodawanie kolumny do DataGrida na istniejącym widoku

Pełny przykład opisanej w tym dokumencie rozszerzalności kolumn DataGrida w projekcie DataGridColumnExtensionExample.

Przykład implementacji własnego sposobu agregacji danych w DataGridzie

W projekcie DataGridAggregationExample przedstawiono przykładową implementację agregacji w postaci mediany.

Przykład rozszerzenia obszaru statusowego

Projekt StatusBarExtensionExample dodaje dwa przyciski do obszaru statusowego. Jeden będący skrótem do otwierania nowego dokumentu handlowego, drugi wykorzystujący kontrolkę ComboBoxButton.