懒惰的WPF绑定

时间:2011-06-25 10:44:19

标签: c# .net wpf data-binding entity-framework-4

我有来自WPF的Expander(并使用实体框架4和MVVM模式),其中包含绑定到某个内部ContentControl的{​​{1}}。我想要的只是绑定这个内容控件 LAZILY 。这就是我希望ViewModelViewModel打开时“获取”。

怎么做?如何使内部Expander的复杂窗口更快?

2 个答案:

答案 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,但只在第一次打开扩展器时填充它。