WPF TreeViewItem Schaltfläche zum Umschalten der Sichtbarkeit
Habe ich lief in ein Problem, ich hoffe jemand kann mir helfen. Ich habe laufen in eine Falle, wo mein Knoten enthalten eine Reihe von Kind-Knoten mit der Sichtbarkeit auf false gesetzt. Ich hoffe, dass kann ich deaktivieren Sie die Umschalten-Pfeil neben der TreeViewItem, wenn alle seine Kinder sind invisibile. Ist das möglich? Hier ist ein Beispiel:
<TreeView Margin="10,10,0,13" Name="TreeView1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="194" Height="200">
<TreeViewItem Header="Cold Drinks">
<TreeViewItem Header="Coke" Visibility="False"></TreeViewItem>
<TreeViewItem Header="Pepsi" Visibility="False"></TreeViewItem>
</TreeViewItem>
</TreeView>
Wie kann ich die Kalten Getränke TreeViewItem zum ausblenden der Knebel Pfeil?
- Ich weiß nicht, von einer einfachen Weise. Die einzige Methode die ich kenne ist das ändern der ControlTemplate für die TreeViewItem. Hier ist ein link zu dem Control Template: msdn.microsoft.com/en-us/library/ms752048.aspx
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du die deafult controlTemplate von TreeViewItem, werden Sie sehen, dass die Sichtbarkeit der Anzeige-Taste gebunden ist ItemsControl.HasItems. Trigger wie folgt Aussehen -
So, wie zu umgehen, können Sie erstellen Sie Ihre eigenen Benutzerdefinierten Steuerelement abgeleitet von TabItem und binden Sie Ihr HasItems mit Ihrem eigenen CLR-Eigenschaft, die eine Schleife durch alle Ihre childItems(TreeViewItems) und True zurückgeben, wenn einem der Artikel sichtbar ist, oder False, wenn alle Elemente ausgeblendet sind/eingeklappten Zustand. Auf diese Weise wird Ihr toggle-button wird automatisch verstecken, als per Trigger.
Falls Sie wissen möchten, wie das erstellen von Benutzerdefinierten Steuerelement, und binden Sie es, um Ihre CLR-Eigenschaft, können Sie diese -
WPF TreeView-databinding-ausblenden/einblenden - /ausblenden-Symbol
Dies ist etwas, was Sie schon lange gesucht hat. Hoffe, das hilft..
Sowohl intern (d.h. für die navigation mit der Tastatur) und in der Standard-Vorlage die TreeViewItem ist unter Berufung auf seine HasItems Eigenschaft, um zu wissen, ob er Kinder hat oder nicht. Sie werden wahrscheinlich brauchen, um die ItemsSource der TreeViewItem zu einer Liste herausfiltern, die reduziert Elemente.