AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein .NET-Framework (managed code) C# TreeView als Navigation nutzen - Welche Herangehensweise bei WPF?

TreeView als Navigation nutzen - Welche Herangehensweise bei WPF?

Ein Thema von Mithrandir · begonnen am 9. Okt 2010 · letzter Beitrag vom 7. Dez 2010
 
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

TreeView als Navigation nutzen - Welche Herangehensweise bei WPF?

  Alt 9. Okt 2010, 14:23
Hi ihr,

ich stehe gerade aufm Schlauch. Ich möchte auf der linken Seite meiner Anwendung eine TreeView als Navigationsleiste haben. Dabei soll sich auf der rechten Seite, je nach gewähltem Punkt, die dargestellte Maske ändern. Unter Delphi hätte ich es so gemacht: TreeView auf das Formular, Splitter daneben, dann n PageControl und die entsprechenden Seiten, dabei die Tabs ausblenden. Fertig. Dann müsste man nur noch programmatisch beim Klick aufs TreeView die passende Seite aktiv setzen.

Jetzt habe ich aber XAML und CSharp vor mir, und fühl mich etwas verloren. Ich habe mir überlegt, für jede meiner Masken eine eigene XAML-Datei zu definieren. Das hab ich bei der Controlleiste, beim TreeView (Navigation) und beim Hauptbereich der Anwendung auch schon getan. Dies sieht dann so aus:

Exemplarisch die ControlBarView.xaml:
XML-Code:
<UserControl x:Class="SmallTune.View.ControlBarView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="Auto" Width="Auto">
    <Grid>
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="29" />
        <CheckBox Content="CheckBox" Height="16" HorizontalAlignment="Left" Margin="43,4,0,0" Name="checkBox1" VerticalAlignment="Top" />
    </Grid>
</UserControl>
Anschließend die MainWindow.xaml:
XML-Code:
<Window x:Class="SmallTune.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:View="clr-namespace:SmallTune.View"
        Title="SmallTune.NET" Height="350" Width="525" WindowStartupLocation="CenterScreen">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="354*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="34*" />
            <RowDefinition Height="277*" />
        </Grid.RowDefinitions>
        <View:ControlBarView Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2"></View:ControlBarView>
        <View:NavigationSideBarView x:Name="NavigationSideBarView" Grid.Column="0" Grid.Row="1"></View:NavigationSideBarView>
        <View:PlayListView x:Name="PlayListView" Grid.Column="1" Grid.Row="1"></View:PlayListView>
    </Grid>
</Window>
Ich binde den View-Namespace ein und zeige dann die Usercontrols in den verschiedenen Grids an. Was ich jetzt möchte, ist, dass bei Klick auf ein TreeViewItem ein anderes UserControl angezeigt wird, was sich im Namespace SmallTune.View befindet. Wie löse ich das mit XAML unter Beibehaltung der Trennung von Code und Design?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz