问题描述
|
我有来自WPF的“ 0”(并使用Entity Framework 4和MVVM模式),其中包含绑定到某些内部“ 2”的“ 1”。我要绑定的内容控件是LAZILY。那就是当我打开
Expander
时,我希望我的viewmodel
是\“ get \”。
怎么做?如何使内部viewmodels
的复杂窗户更快?
解决方法
您可以在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();
}
}
, 与上面类似的另一个选项可能是创建一个ObservableCollection,但仅在第一次打开扩展器时填充它。