Freigeben über


TreeNode.Expanded Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Knoten erweitert wird.

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 Die Expanded Eigenschaft zum programmgesteuerten Erweitern eines Knotens verwendet wird. Er 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.xmlkopieren.


<%@ 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 ist Beispiel-XML-Daten 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 einen Knoten erweitern und reduzieren, indem Sie die Expand entsprechenden Collapse Methoden aufrufen. Sie können auch einen Knoten und alle untergeordneten Knoten erweitern und reduzieren, indem Sie die ExpandAll entsprechenden CollapseAll Methoden aufrufen.

Da die Expanded Eigenschaft eine Tri-State-Eigenschaft ist, 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 ein NullableBoolean, C# nicht umgibt. Daher empfiehlt es sich, den Status der Eigenschaft explizit zu überprüfen. Die folgenden Codebeispiele in Visual Basic und C# testen beispielsweise 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 False daher Nothing durch die If Anweisung fällt.

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 False daher Null durch die If Anweisung fällt.

if( TreeView1.Nodes[0].Expanded == true ) { //some work here}

Gilt für:

Weitere Informationen