WPF在类中绑定DataContext

WPF在类中绑定DataContext,wpf,binding,resharper,Wpf,Binding,Resharper,我正在做类似的事情:。我写this.DataContext=this 在cs文件的InitialieComponents()之后,在cs.xaml文件中,我为按钮写入Command=“{Binding BackCommand}”。 但是resharper给了我一个错误:无法解析符号“BackCommand”,因为未知的DataContext并且绑定不起作用。 只有当我这样做时它才会工作:Command=“{Binding BackCommand,elementName=root}”并将根xml(

我正在做类似的事情:。
我写
this.DataContext=this
在cs文件的
InitialieComponents()
之后,在cs.xaml文件中,我为按钮写入
Command=“{Binding BackCommand}”

但是resharper给了我一个错误:
无法解析符号“BackCommand”,因为未知的DataContext
并且绑定不起作用。
只有当我这样做时它才会工作:
Command=“{Binding BackCommand,elementName=root}”
并将根xml(我的类)的名称设置为“root”

我不明白为什么以及如何解决这个问题……(因为我看到过一些实例,它工作得很好,就像在url中一样)


谢谢

您可以向XAML添加DesignerDataContext,如:

<Window ...
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DataContext="{d:DesignInstance Type=local:MyWindow, IsDesignTimeCreatable=False}"
 >

这使工具知道DataContext的类型

旁注:我建议使用MVVM模式,并使用单独的ViewModel类作为DataContext