当前位置:  开发笔记 > 编程语言 > 正文

使用WPF MVVM预加载/隐藏加载?

如何解决《使用WPFMVVM预加载/隐藏加载?》经验,为你挑选了0个好方法。

我有在WPF编码的控制,可以有三个子元素之一 - 两个SimpleChildElements和一个ComplexChildElement,让我们说 - 并根据模型中的一些幕后的逻辑,让我做他们的显示器之间的互换.


   
     
       
     
   

子元素是他们自己的ViewModel,我已经在上游声明了一些资源,因此有针对它们的DataTemplates.如果它有所帮助,我可以详细说明,但问题的关键因素是:

当我通过滚动在主控制元件和ComplexChildElement弹出的第一次,有一个短暂的,隐约可见闪烁,因为它得到的装饰 - 这是一堆的组合框饰的DevExpress.这种设置意味着有当我滚出一个记录与ComplexChildElement,然后再返回无闪烁,如果我开始与ComplexChildElement有主控显示,没有闪烁,当它再次弹出.

但主控制键到另一个数据源,我不能保证会出现在第一个记录,这是在一个更大的显示屏框架初始化加载ComplexChildElement我真的不想在此刻根左右.

那么我怎样才能保证在表单加载时会呈现ComplexChildElement,并可能在之后立即隐藏它?我已经尝试在这个后面的函数内部打开和关闭ChildPanels.Active:

 
    
 

但这并没有让他们渲染.

顺便说一下这个功能:

foreach (var childModel in ChildPanels.Values)
  {
    childModel.Active = true;
    RaisePropertyChanged(() => childModel.Active);
  }
ChangeChildModel();

最后一个函数调用是一个被调用的函数调用,用于在记录更改时更改子模型的可见性.如果我不进行最后一次调用,则所有子视图模型都会显示为可见.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有