首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TreeViewItem扩展事件

TreeViewItem扩展事件
EN

Stack Overflow用户
提问于 2018-10-09 12:58:04
回答 1查看 174关注 0票数 2

你好,我正在使用一个WPF应用程序,在TreeView上展开项目之前,我希望有一个事件触发。我知道目前还没有这样的活动,但我不知道如何添加一个我正在这样做的方式,所以任何帮助都将受到感谢。

这是xaml。

代码语言:javascript
复制
 <TreeView x:Name="TreeView" Margin="20">
        <TreeView.Resources>
              <Style TargetType="{x:Type TreeViewItem}">
                   <!-- Some style -->
              </Style>
              <DataTemplate DataType="{x:Type models:DirectoryPathItem}">
                   <!-- some template -->
              </DataTemplate>
        </TreeView.Resources>
 </TreeView>

我正在加载后面的代码。

代码语言:javascript
复制
    private void LoadBaseDirectories()
    {
        var directoryInfo = new DirectoryInfo(@"C:\");

        var directories = directoryInfo.GetDirectories();

        foreach (var directory in directories)
        {
            TreeView.Items.Add(new DirectoryPathItem()
            {
                Children = new ObservableCollection<PathItem>(),
                Path = directory.FullName,
                Header = directory.Name
            });
        }
    }

在展开TreeViewItem之前,是否有一种方法可以调用事件,以便加载子事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-09 13:20:04

在实际展开之前加载子项可能会导致用户不理解为什么列表为空的响应UI。

我建议添加一个表示后台任务的项目(例如:某种类型的加载旋转器),并在发现它们时立即添加适当的项。

一旦完成,您可以删除加载旋转项。

这样,您将不需要一个新的事件,用户将了解发生了什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52721657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档