2011-12-04 114 views
1

我嘗試使用瀏覽潛在循環分層數據的樹形視圖。 這意味着我不能嘗試一次加載所有的樹,因爲那時可能會出現無限循環。TreeView沒有AfterExpand事件?

我想向TreeView.AfterCollapse事件作出反應記錄here at MSDN

然而,我的控制似乎不具備此事件。如果我嘗試添加AfterExpand屬性,我收到以下錯誤消息:

error MC3072: The property 'AfterExpand' does not exist in XML namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'. Line 23 Position 21. 

我在做什麼錯了?調用錯誤的命名空間? 下面是代碼:

<Window x:Class="MyApp.Edit.EditView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:MyApp.Edit" 
    Title="{Binding WindowTitle,UpdateSourceTrigger=PropertyChanged}" MinHeight="350" MinWidth="350"> 

    <Window.Resources> 
     <HierarchicalDataTemplate x:Key="sectionTemplate" 
     ItemsSource="{Binding ChildSections}" 
     DataType="{x:Type local:Section}"> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding Label, UpdateSourceTrigger=PropertyChanged}" /> 
       <TextBlock Text=" - " /> 
       <TextBlock Text="{Binding Description}" FontStyle="Italic" Foreground="#777" /> 
      </StackPanel> 
     </HierarchicalDataTemplate> 
    </Window.Resources> 

    <StackPanel> 

    <TreeView ItemsSource="{Binding Sections}" 
       SelectedItemChanged="TreeView_SelectedItemChanged" 
       ItemTemplate="{StaticResource sectionTemplate}" 
       MinHeight="150" 
       MinWidth="300" 
       Name="treeView" 
       AfterExpand="MyEventHandler" 
     </TreeView> 

     <TextBox Text="{Binding Label, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
       Margin="0 10 0 0"/> 

     <TextBox Text="{Binding Description, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
       Margin="0 10 0 0"/> 

     <StackPanel Orientation="Horizontal"> 
      <Button Content="Add Child" Click="Button_Click_AddChild" /> 
     </StackPanel> 
    </StackPanel> 
</Window> 
+0

我認爲它不適用於wpf。 –

回答

3

這是一個Windows窗體樹視圖事件,它不屬於WPF TreeView,在WPF可以使用CollapsedExpandedTreeViewItems的,而不是TreeView本身。

但是,您可以訂閱TreeView上的事件,因爲它們是routed

+0

我要試試這個。 –