WPF - podział aplikacji na podstrony.

0

Witajcie,

Mam napisać aplikację gdzie będzie kilka "zakładek" przełączanych przyciskami, które cały czas będą wyświetlane po lewej stronie okna głównego. Chciałbym zrobić to w sposób inny niż wszystkie kontrolki każdej zakładki będą w oknie głównym a przełączał bym je ustawiając ich widoczność... na pewno nie jest to pomysł zgodny ze sztuką, prośba do Was to nakierowanie na jakiś inny sposób rozwiązania tego problemu, np, na jakiś osobnych podstronach czy coś w ten deseń, ale tak by okno główne było cały czas widoczne i działało a przełączać wewnątrz niego zawartość tych kilku zakładek.

Mam nadzieję że zrozumiale wyjaśniłem o co mi chodzi,

Pozdr
Michał :)

0

Hej, jeżeli Cie dobrze rozumiem to ja bym to zrobił tak:

  1. Utworzył enum odpowiadający twoim stronom
  2. W VM zrobił właściwość tego wyliczenia
  3. W kontrolkach po lewej stronie w Command zmieniał bym odpowiednio tę właściwość
    np Przycisko "A" = MyCommandA = new RaleyCommand => myEnum = MyEnum.PageA; itp
  4. Dla prawej strony zrobił bym kontrolkę (np MyConteiner) w, której był by Grid w nim umieścił bym ContentControl i nadał my "x:Name" np x:Name="PageContent"
  5. W tej samej kontrolce w pliku .cs umieść DependencyProperty (np CurrentPage) typu Page lub UserControl w zależność czy twoje "strony" te po prawej będą wystylizowanymi UserControl-kami czy Page-ami. Jako czwarty parametr do metody DependencyProperty.Register podaj new UIPropertyMetadata(...PropertyChanged).( <- tu podaj nazwę metody)
  6. A w tej metodzie zrób coś takiego:
    private static void ...PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
    ((d as MyConteiner).PageContent).Content = e.NewValue;
    }'
  7. teraz jak tworząc kontrolkę po prawej stronie w MainWindow napiszesz np:

<local:MyConteiner PageContent={Binding myEnum, Converter="Tu dasz swój konwerter"
8)konwerter będzie zamieniał twój typ wyliczeniowy na odpowiednia stronę p:
switch((MyEnum)value)
{
case MyEnum.PageA:
return new PageA();
....
}
góra godzina zabawy i zrobione:)

0

Hej, tutaj masz bardzo dobry tutorial jak zrobić aplikację zgodnie ze wzorcem MVVM w WPF (jest przełączanie stron i customowe okienka dialogowe):

Tutorial długi, ale warto. Sam się z niego obecnie uczę.

0

Dzięki Wam za pomoc, przykład Ali663 wygląda Ciekawie ale to jeszcze nie mój poziom :D

Będę próbował coś ogarnąć :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1