如何在WPF / MVVM应用程序中调试“DependencyProperty.UnserValue”异常?

时间:2017-03-06 17:16:23

标签: c# wpf xaml mvvm

我有一个C#/ .Net / WPF / MVVM应用程序。

运行VS 2015时,应用程序运行正常。

当我独立运行应用程序时(在另一台机器上), 我在启动时遇到以下异常:

  

“System.InvalidOperationException”类型的未处理异常   发生在WindowsBase.dll

中      

其他信息“{DependencyProperty.UnserValue}无效   属性值“TopLevelItemTemplateKey”

真正发生了什么?

如何调试?

由于

1 个答案:

答案 0 :(得分:0)

您是否直接返回您的依赖关系的价值?好的方法是测试变量是否为null,然后在这里返回一个带有ObservableCollection的示例:

public ObservableCollection<YourObject> _ocYourObject;
    public ObservableCollection<YourObject> ocYourObject{
        get {
            if (_ocYourObject == null) {
                _ocYourObject = new ObservableCollection<YourObject>();
            }
            return _ocYourObject;
        }
        set {
            if (_ocYourObject!= value) {
                _ocYourObject= value;
                PropertyChanged(this, new PropertyChangedEventArgs(nameof(ocYourObject)));
            }
        }
    }