无法在资源字典中绑定
我正在运行一个简单的MVVM项目,并在第一个障碍中堕落。 我正在使用Josh Smiths Relay Command方法绑定我的命令。
问题是,当按钮在ResourceDictionary中时,按钮不绑定。 如果我将代码(完全按原样)移动到我的MainWindow.xaml中,则代码将根据需要执行。
这是我的MainWindow.xaml
和资源字典
我只能假设在ResourceDictionary中绑定它无法找到ViewModel(虽然我不知道为什么我认为)。 我认为它试图将额外的水平降低……
无论如何,有人可以解释为什么它不是从资源字典中执行的。
这个问题似乎与ResourceDictionary没有多大关系,而是将父DataContext
传递给DataTemplate
如果您复制Style
并将其放入Grid.Resources
并注释资源字典,则可以看到相同的行为。 还应显示打开Binding错误
System.Windows.Data Error: 40 : BindingExpression path error: 'AddCommand' property not found on 'object' ''String'
Fix几乎可以通过DataContext
获得。
同样的问题适用于ContentTemplate
但Template
工作正常(它使用ControlTemplate
)