Rac*_*ael 3 treeview selecteditem mvvm inotifypropertychanged selecteditemchanged
我在这里调整了TreeView Control示例项目,以便与Entity Framework对象一起使用.它运行得很漂亮,但是像许多其他人一样,尝试更新基于ParentViewModels的SelectedItem更改的集合或属性时,我也无法弥合理解的差距.
我在MVVM工作,希望我的代码隐藏免受任何混乱.作为一个初学者,我喜欢实现PropertyChanged通知的清洁,但由于它们没有固定的"SelectedItem"属性来绑定TreeView,我无法像往常一样提升我的PropertyChanged事件ListBox.
我的ChildViewModel上也有一个SelectedItem属性(实际上成功捕获了isSelected = true的对象)(参见HB对这个问题的回答).我也有我的ParentViewModel这势必我的看法(见@马丁Liversage的职位类型ChildViewModel的的SelectedItem 这里).我不能让他们同步.
请帮助我了解如何将SelectedItemChildViewModel 的属性传递给我的ParentViewModel.我没有将我的TreeView绑定到a CollectionView,所以我无法获取CurrentItem视图集合.
我正在处理的viewmodel集合非常查询,所以我现在还没有包含任何代码.请让我知道清楚需要什么.
所以,至少你已经开始习惯你的日常MVVM-WTF ......"为什么我必须在SO上发布基本的东西".有一天,你会喜欢MVVM,我保证;)
话虽如此:如您所知,TreeView不支持同步SelectedItem属性.但它确实存在,但它是只读的.你想要做的是扩展TreeView的行为,使其所选项与其ViewModel上的属性同步.
此问题描述指出了正确的方向:行为.行为(或者,确切地说,System.Windows.Interactivity.Behavior <> s)允许您扩展任何功能DependencyObject.(好介绍)
可以在此处找到通过行为同步TreeView与所选项目的方法:
这应该已经为你做了.您只需复制并粘贴Steve GreatRex的代码即可.如果您需要有关该方法的帮助,请发表评论.玩得开心学习!
| 归档时间: |
|
| 查看次数: |
12866 次 |
| 最近记录: |