代码之家  ›  专栏  ›  技术社区  ›  3xGuy

TreeViewItem扩展事件

  •  2
  • 3xGuy  · 技术社区  · 6 年前

    你好,我在一家公司工作 WPF 在应用程序中,我希望在展开项目之前触发事件 TreeView . 我知道还没有一个事件已经为这个,但我不知道如何添加一个方式,我这样做,所以任何帮助将不胜感激。

    这是xaml。

     <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>
    

        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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Joel Bourbonnais    6 年前

    在实际展开之前加载子项可能会导致用户界面无响应,用户无法理解列表为何为空。

    一旦完成,您可以删除加载微调器项目。

    这样,您就不需要新的事件,用户就可以了解发生了什么。