Entwickler-Ecke

WPF / Silverlight - TreeView aufklappen und klickbarer Bereich


daengl - Sa 24.05.08 12:35
Titel: TreeView aufklappen und klickbarer Bereich
Hallo alle zusammen,

ich habe zwei kleinere Probleme mit einer TreeView:

1. ist es möglich Elemente beim Erstellen aufzuklappen? Ich würde gerne beim Erstellen der TreeView die Elemente erweitert darstellen bzw. im Kontextmenü einen Punkt ala "Erweitere alle Elemente" erstellen.

2. Es ist nicht möglich in meiner TreeView ein Element durch Klicken auf den Namen sondern nur durch Klicken in dem im Bild rot eingerahmten Bereich zu markieren. Weiß jemand wieso dass so ist bzw. wie ich das ändern kann?


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<TreeView Grid.Column="0" x:Name="projectTreeView" SelectedItemChanged="projectTreeView_SelectedItemChanged">
 <TreeView.ItemTemplate>
  <HierarchicalDataTemplate ItemsSource="{Binding Path=ProjectTreeViewItems}">
   <TreeViewItem Header="{Binding Converter={StaticResource projectTreeNameConverter}}"
                 FontWeight="{Binding Converter={StaticResource projectTreeFontWeightConverter}}"
                 FontStyle="{Binding Converter={StaticResource projectTreeFontStyleConverter}}"
                 Foreground="{Binding Converter={StaticResource projectTreeForegroundConverter}}"
                 />
  </HierarchicalDataTemplate>
 </TreeView.ItemTemplate>
</TreeView>


Danke für eure Hilfe
mfg daengl


Kha - Sa 24.05.08 15:50
Titel: Re: TreeView aufklappen und klickbarer Bereich
:welcome:
user profile icondaengl hat folgendes geschrieben:
1. ist es möglich Elemente beim Erstellen aufzuklappen? Ich würde gerne beim Erstellen der TreeView die Elemente erweitert darstellen
Dafür würde ich dem TreeView einen ItemContainerStyle verpassen, der IsExpanded auf true setzt.
user profile icondaengl hat folgendes geschrieben:
bzw. im Kontextmenü einen Punkt ala "Erweitere alle Elemente" erstellen.
Dazu musst du wohl eine eigene rekursive Funktion schreiben, scheint wirklich nichts Vorhandenes zu geben :?!?: .
user profile icondaengl hat folgendes geschrieben:
2. Es ist nicht möglich in meiner TreeView ein Element durch Klicken auf den Namen sondern nur durch Klicken in dem im Bild rot eingerahmten Bereich zu markieren. Weiß jemand wieso dass so ist bzw. wie ich das ändern kann?
Das ItemTemplate bestimmt den Inhalt, nicht den Container; du erzeugst also wahrscheinlich zwei verschachtelte TreeViewItems. Nimm stattdessen im Template einfach einen TextBlock.


daengl - Sa 24.05.08 17:19

Danke dir vielmals für deine Antwort, die TreeView ist nun beim Starten aufgeklappt und die Elemente lassen sich auswählen :D