首页 > 解决方案 > 类中的 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 中工作得很好的实例)

谢谢

标签: wpfbindingresharper

解决方案


您可以将 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。


推荐阅读