TreeNode.Expanded Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob der Knoten erweitert ist, oder legt diesen Wert fest.
public:
property Nullable<bool> Expanded { Nullable<bool> get(); void set(Nullable<bool> value); };
public bool? Expanded { get; set; }
member this.Expanded : Nullable<bool> with get, set
Public Property Expanded As Nullable(Of Boolean)
Eigenschaftswert
true
, wenn der Knoten erweitert wird, false
, wenn der Knoten nicht erweitert wird, oder null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die Expanded -Eigenschaft verwenden, um einen Knoten programmgesteuert zu erweitern. Es initialisiert alle Knoten mit einer Tiefe von 1 bis zu einem erweiterten Zustand. Beachten Sie, dass die untergeordneten Knoten bereits erweitert werden, wenn der Stammknoten erweitert wird. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die folgenden XML-Beispieldaten in eine Datei mit dem Namen Book.xml kopieren.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Data_Bound(Object sender, TreeNodeEventArgs e)
{
// Determine the depth of a node as it is bound to data.
// If the depth is 1, expand the node.
if(e.Node.Depth == 1)
{
e.Node.Expanded = true;
}
else
{
e.Node.Expanded = false;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNode Expanded Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNode Expanded Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
OnTreeNodeDataBound="Data_Bound"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Data_Bound(ByVal sender As Object, ByVal e As TreeNodeEventArgs)
' Determine the depth of a node as it is bound to data.
' If the depth is 1, expand the node.
If e.Node.Depth = 1 Then
e.Node.Expanded = True
Else
e.Node.Expanded = False
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNode Expanded Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNode Expanded Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
OnTreeNodeDataBound="Data_Bound"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
Der folgende Code enthält XML-Beispieldaten für das vorherige Beispiel.
<Book Title="Book Title">
<Chapter Heading="Chapter 1">
<Section Heading="Section 1">
</Section>
<Section Heading="Section 2">
</Section>
</Chapter>
<Chapter Heading="Chapter 2">
<Section Heading="Section 1">
</Section>
</Chapter>
</Book>
Hinweise
Verwenden Sie die Expanded -Eigenschaft, um anzugeben oder zu bestimmen, ob der Knoten erweitert wird.
Sie können das Erweitern und Reduzieren eines Knotens durch Aufrufen der Expand und Collapse Methoden bzw. Sie können auch erweitern und Reduzieren eines Knotens und aller diesem untergeordneten Knoten durch Aufrufen der ExpandAll und CollapseAll Methoden bzw.
Da es sich bei der Expanded Eigenschaft um eine Tri-State-Eigenschaft handelt, verursacht der folgende C#-Codeausschnitt einen Kompilierungsfehler:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.Nodes[0].Expanded)
{
// some work here
}
}
Während VB.Net den Boolean
Wert implizit in einen NullableBoolean
umgibt, ist dies bei C# nicht der Fall. Daher empfiehlt es sich, den Zustand der Eigenschaft explizit zu überprüfen. Beispielsweise testen die folgenden Codebeispiele in Visual Basic und C# explizit den Wert der Expanded Eigenschaft.
Im folgenden Visual Basic-Codebeispiel wird der Wert der Expanded -Eigenschaft explizit getestet. In diesem Beispiel wird getestet, ob die Expanded -Eigenschaft auf True
festgelegt ist und die Nothing
False
-Anweisung durchläuft If
.
If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF
In diesem C#-Codebeispiel wird der Wert der Expanded -Eigenschaft explizit getestet. In diesem Beispiel wird getestet, ob die Expanded -Eigenschaft auf True
festgelegt ist und die Null
False
-Anweisung durchläuft If
.
if( TreeView1.Nodes[0].Expanded == true ) { //some work here}