Dzięki szablonom udało nam się odchudzić dość mocno nasze pliki XAML, ale fajnych rozwiązań jest wiele. Jednym z nich są strony. Wcześniej wszystko pakowałem w GRIDy i ustawiałem wszystkim Visibility.Hidden, a ten konkretny, z którego chciał skorzystać użytkownik dawałem Visibility.Visible. Niestety to generowało sporo kodu i w dodatku było mało efektywne. Tym razem z pomocą przyszły strony.

W moim pliku XAML dodałem sobie kontrolkę Frame:

<Frame Name="FrameDatabase" NavigationUIVisibility="Hidden" Width="300" Height="475"></Frame>

NavigationUIVisibility ustawione na Hidden powoduje, że nie jest wyświetlany brzydki pasek nawigacyjny, który nie jest nam do szczęścia potrzebny. Sama ramka, to mały kawałek kodu. To co chcemy do niej wrzucić możemy przygotować osobno.  Dlatego teraz dodamy nowy element Page.

page

Do niego wrzucamy elementy tak samo jak budujemy aplikację. No i problem rozwiązany. Robimy tyle stron ile jest nam potrzebnych, żeby zadowolić użytkownika. Zostaje nam jeszcze połączenie wszystkiego w całość:

FrameDatabase.NavigationService.Navigate(new Uri("Views/DatabaseMarketplace.xaml", UriKind.Relative));

Wrzucamy tę linijkę np.  do wywołana eventu click na jakimś przycisku i we Frame ląduje nasza wcześniej przygotowana strona.

Super! Po tym zabiegu rozszerzanie aplikacji stało się dużo prostsze i kod wyglądu głównego okna zmalał z ponad 1000 linijek do niewiele ponad 100. Pewnie ktoś powie, że lepiej byłoby to MVVMem zrobić, ale po co? Przy aplikacjach z niewielkim UI jest to przerost formy nad treścią i utrudnianie sobie życia.

Dołącz do newslettera już dziś!
Zero spamu - tylko wartościowe treści!
Musisz już lecieć?
Zostaw swój adres e-mail i dołącz do BEZPŁATNYCH WEBINARÓW dotyczących SQLa!
  • „Jak uczyć się SQLa?” – 4 października
  • „SQL dla testerów” – 12 października