TreeView没有AfterExpand事件?

时间:2011-12-04 22:34:01

标签: c# .net wpf xaml treeview

我尝试使用树视图来浏览潜在的循环分层数据。 这意味着我不能尝试一次加载所有树,因为那时可能会有无限循环。

我想对记录为here at MSDN

的TreeView.AfterCollapse事件做出反应 然而,我的控制似乎没有这个事件。如果我尝试添加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>

1 个答案:

答案 0 :(得分:3)

这是一个Windows窗体树视图事件,它不属于WPF TreeView,在WPF中,您可以使用TreeViewItems的{​​{3}}和Collapsed,而不是TreeView TreeView本身。

但是,您可以按{{1}}订阅{{1}}上的活动。