惰性WPF绑定

问题描述

| 我有来自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,但仅在第一次打开扩展器时填充它。