我正在做类似的事情:https://www.wpf-tutorial.com/data-binding/using-the-datacontext/。
我写了this.DataContext = this;
在InitialieComponents()
之后的cs文件中,以及在cs.xaml文件中,我为按钮编写Command = "{Binding BackCommand}"
。
但是重新共享程序给我一个错误:Cannot resolve symbol ”BackCommand“ due to unknown DataContext
,并且绑定不起作用。
仅当我这样做时,它才能起作用:Command = "{Binding BackCommand, elementName = root}"
并将根xml(我的类)的名称设置为“ root”。
我不明白为什么以及如何解决这个问题。(因为我已经看到实例可以正常工作,例如在url中)
谢谢
答案 0 :(得分:0)
您可以将DesignerDataContext添加到XAML中,例如:
<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。