MVVM轻型WPF绑定、生命周期问题?

MVVM轻型WPF绑定、生命周期问题?,wpf,data-binding,mvvm-light,Wpf,Data Binding,Mvvm Light,我正在充实LOB应用程序的窗口视图。早期版本只有很少的XAML元素,但是在关闭事件上使用EventToCommand将标题栏关闭按钮绑定到VM命令就可以了。一个包含几十个元素的更高版本(尚未绑定任何数据)无法绑定该按钮: System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. Bi

我正在充实LOB应用程序的窗口视图。早期版本只有很少的XAML元素,但是在关闭事件上使用EventToCommand将标题栏关闭按钮绑定到VM命令就可以了。一个包含几十个元素的更高版本(尚未绑定任何数据)无法绑定该按钮:

System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=CloseCommand; DataItem=null; target element is 'EventToCommand' (HashCode=42527634); target property is 'Command' (type 'ICommand')
还有十几个其他绑定错误,涉及边框或按钮元素属性,如OpacityMask、HeadersVisibility等,同样,还没有设置数据绑定。根据我的经验,这不是什么不寻常的事情,也不是问题

如果我注释掉新的XAML元素,close按钮将绑定并执行我的CloseCommand

我是一个MVVM轻型“熟练工”,我身后有一些成功的应用程序,我想我会按照Laurent在培训和文档中的建议做每件事

建议

更新:

到目前为止,Window元素上仅有的两个绑定:

DataContext="{Binding Source={StaticResource Locator}, Path=MainViewModel}"

    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Closing">
            <command:EventToCommand Command="{Binding CloseCommand}" PassEventArgsToCommand="True"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
DataContext=“{Binding Source={StaticResource Locator},Path=MainViewModel}”

所有其他元素都是花园式LOB布局和没有绑定表达式的小部件。

您的绑定看起来像什么?听起来你好像在更改绑定的
源代码,但没有将其指向任何有效的引用。感谢您的回复!您的XAML中是否有一个名为
Locator
的对象?它是否具有路径
.MainViewModel.CloseCommand
?Locator是在app.xaml的Application.Resources中分配给MVVM Light的ViewModelLocator实例的名称。它有一个属性MainViewModel作为我的VM的实例,它有一个CloseCommand属性。这些都是直接从MVVM灯光模板中获得的。在我的窗口的工作版本和非工作版本之间保持不变。不工作的一个上面有更多的小部件。我想我唯一模糊的想法是,这些小部件中有一些乱七八糟的东西,或者它是正在构造的窗口和正在构造自身及其VM实例的定位器之间的一个计时问题。我正在一个接一个地添加小部件。在超出几个小部件的某个阈值时,命令停止绑定。我想我有一些MVVM轻生命周期的东西要学习?