我有来自WPF的Expander
(并使用实体框架4和MVVM模式),其中包含绑定到某个内部ContentControl
的{{1}}。我想要的只是绑定这个内容控件 LAZILY 。这就是我希望ViewModel
在ViewModel
打开时“获取”。
怎么做?如何使内部Expander
的复杂窗口更快?
答案 0 :(得分:4)
您可以向ViewModel添加IsExpanded
属性,将扩展程序绑定到它,并在返回ContentControl
的内容时将该属性的值考虑在内:
private bool _isExpanded;
public bool IsExpanded
{
get { return _isExpanded; }
set
{
_isExpanded = value;
OnPropertyChange("IsExpanded");
OnPropertyChange("Content");
}
}
public SomeType Content
{
get
{
if (!_isExpanded)
return null;
return LoadContent();
}
}
答案 1 :(得分:0)
与上述类似的另一个选项可能是创建一个ObservableCollection,但只在第一次打开扩展器时填充它。