WPF TreeView IsExpanded 绑定不上的问题
2021-07-03 16:06
标签:path com containe 注释 自己 nfx 示例 -- one 最近项目上需要通过MVVM来控制TreeView,其中需要需要控制通过搜索来定位某个节点,正常逻辑下,首先通过需要在树上面找到该节点,然后选中该节点,并将该节点的父节点展开,这个时候需要通过MVVM来控制,需要绑定起来,只是一直没有binding上,代码如下: MVVM示例代码: 界面代码: 数据的绑定没有问题,界面没有问题,奇怪的是IsSelected可以正常绑定,但是IsExpanded就是不行,后来发现这两个属性唯一的区别就是在TreeView的式样中 后面把这个DataTrigger这段代码注释掉,编译一下,重新运行,IsExpanded就可以正常绑定。后面自己思考了一下,MVVM模式实现将ViewModel与界面上面的显示绑定起来,实际上也就是使用了观察者模式,而Trigger的原理应该和数据binding是一样的,而且这个Trigger写在后面,可能直接把前面的绑定取代了,但是试了一下,将DataTrigger放到前面,也还是绑定不上,这种可能性排除;个人猜测可能是Trigger的优先级比较高,从而造成IsExpanded一直Binding不上去。 WPF TreeView IsExpanded 绑定不上的问题 标签:path com containe 注释 自己 nfx 示例 -- one 原文地址:https://www.cnblogs.com/Johar/p/9886646.html 1 using System;
2 using System.Collections.Generic;
3 using System.Collections.ObjectModel;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7
8 namespace DragDrop
9 {
10 class DataItem : NotifyPropertyBase, ICloneable
11 {
12 public DataItem(string header, int deepth = 1)
13 {
14 Header = header;
15 Deepth = deepth;
16 }
17
18 public object Clone()
19 {
20 DataItem dataItem = new DataItem(Header, Deepth);
21 dataItem.IsExpanded = IsExpanded;
22 dataItem.IsSelected = IsSelected;
23 dataItem.Deepth = Deepth;
24 foreach (DataItem item in Items)
25 dataItem.Items.Add((DataItem)item.Clone());
26 return dataItem;
27 }
28
29 private string header;
30 public string Header
31 {
32 get { return header; }
33 set
34 {
35 SetProperty(ref header, value);
36 }
37 }
38
39 private bool isSelected;
40 public bool IsSelected
41 {
42 get { return isSelected; }
43 set { SetProperty(ref isSelected, value); }
44 }
45
46 private bool isExpanded;
47 public bool IsExpanded
48 {
49 get { return isExpanded; }
50 set
51 {
52 SetProperty(ref isExpanded, value);
53 Console.WriteLine("{0}--{1}", Header, IsExpanded);
54 }
55 }
56
57 private int deepth;
58 public int Deepth
59 {
60 get { return deepth; }
61 set
62 {
63 if (deepth != value)
64 {
65 deepth = value;
66 SetProperty(ref deepth, value);
67 }
68 }
69 }
70
71 private ObservableCollection
1
1
文章标题:WPF TreeView IsExpanded 绑定不上的问题
文章链接:http://soscw.com/essay/101335.html