我正在尝试实现 MVVM,并且在使用触发器和 RelayCommands 将 LoadOnDemand 移动到我的 ViewModel 时遇到问题,我有事件触发等等,
但事实证明,可以在不选择树的情况下扩展树中的节点(我在 ViewModel 中对 SelectedItem 属性进行了数据绑定(bind)),从而破坏了逻辑,因为 onLoad 动画将继续旋转。
如果我改为这样做:
private void HierarchyTreeControl_LoadOnDemand(
Object sender,
Telerik.Windows.RadRoutedEventArgs e){
RadTreeViewItem clickedItem = null;
clickedItem = e.OriginalSource as RadTreeViewItem;
if (clickedItem != null) {
...do load logic
在文件后面的代码中。我可以访问扩展项目(clickedItem)。我错过了什么?
是否可以对 ExandingItem 进行某种绑定(bind)?
任何帮助将不胜感激 :)
最佳答案
由于您没有使用标准的 TreeView ,我不能确定这是相关的。但是我之前已经成功地将 TreeViewItem 的 IsExpanded 属性绑定(bind)到 viewmodel 属性,当值设置为 true(并且尚未加载)时,我在其中加载了项目。
这是一个有用的链接:One more platform difference more-or-less tamed
关于silverlight-4.0 - 展开项目与选定项目不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5623691/