【问题标题】:Show expand/collapse arrow always on dynamic filling始终在动态填充时显示展开/折叠箭头
【发布时间】:2016-02-11 04:40:59
【问题描述】:

我有一个简单的自定义树视图组件:

  public partial class ThemesTreeView: UserControl, IThemesTreeView {
  public delegate void ThemeSelected(ThemeModel theme);
  public event ThemeSelected OnThemeSelection;

  public delegate void ThemeDoubleClick(ThemeModel theme);
  public event ThemeDoubleClick OnThemeDoubleClick;

  public ThemesTreeView() {
   InitializeComponent();
  }   


  private void UserControl_Loaded(object sender, RoutedEventArgs e) {      
   var caseCovers = GetTreeViewItem((Int32) ThemeType.CaseCover, "1", "Case Covers", "album_cover.png");
   var musics = GetTreeViewItem((Int32) ThemeType.Music, "1", "Music", "music_run.png");
   var movies = GetTreeViewItem((Int32) ThemeType.Video, "1", "Scenic Video Inserts", "video.png");   

   tvThemes.Items.Add(caseCovers);
   tvThemes.Items.Add(musics);
   tvThemes.Items.Add(movies);
  }

  private ThemesTreeViewItem GetTreeViewItem(Int32 tag, String uid, String text, String imagePath) {
   ThemesTreeViewItem item = new ThemesTreeViewItem();
   item.Uid = uid;
   item.Tag = tag;
   item.IsExpanded = false;

   // create stack panel
   StackPanel stack = new StackPanel();
   stack.Orientation = Orientation.Horizontal;

   // create Image
   Image image = new Image();
   image.Source = new BitmapImage(new Uri("pack://application:,,/images/" + imagePath));
   image.Width = 16;
   image.Height = 16;
   // Label
   Label lbl = new Label();
   lbl.Content = text;

   // Add into stack
   stack.Children.Add(image);
   stack.Children.Add(lbl);

   // assign stack to header
   item.Header = stack;
   return item;
  }
 }
}

我跳过了一些用于下载和填充子节点的代码。当用户点击一个节点时,子节点会被下载并添加到树视图中。但问题是在添加节点之前没有展开/折叠的箭头。如何始终显示箭头?

【问题讨论】:

    标签: c# wpf treeview


    【解决方案1】:

    复制 treeviewitem 样式。找到树节点的一部分,并纠正与树节点状态相似的节点样式。

    here description of styling for treeviewite-controltemplate

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 2019-07-01
      • 2018-05-15
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多