无法在资源字典中绑定

我正在运行一个简单的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获得。

    

同样的问题适用于ContentTemplateTemplate工作正常(它使用ControlTemplate