TreeNode.Expanded Eigenschaft

Definition

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 NullableBooleanumgibt, 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 Truefestgelegt ist und die NothingFalse -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 Truefestgelegt ist und die NullFalse -Anweisung durchläuft If .

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

Gilt für:

Weitere Informationen