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