XAML “财产...在类型中未找到...",为什么这不会出现在生成结果中?

cclgggtu  于 2023-09-28  发布在  其他
关注(0)|答案(2)|浏览(87)

我正在使用Visual Studio 2022开发C# WPF应用程序。
在运行应用程序时,我看到一个复选框,它的值没有改变,尽管它应该改变。这是由相应的XAML文件中的以下拼写错误引起的:

IsChecked="{Binding SelectedProduct.Enable}"

While应该是:

IsChecked="{Binding SelectedProduct.Enabled}"

(mind属性的最后一个字母)。
我可以在XAML编辑器中很容易地看到这一点(有一个蓝色的波浪,指示错误)。
然后,我开始怀疑在我的源代码中是否会有其他类似的错误(有很多XAML文件),所以我决定再次输入相同的错误,看看编译器警告/提示/.会是,但令我惊讶的是这种错误/警告/提示/.甚至没有显示。
我相信应该有一些配置设置,但我不知道在哪里可以找到它,因此我的问题:
如果我在XAML文件中犯了拼写错误,我应该在哪里查找这些错误的概述,最好是在构建应用程序期间?
Thanks in advance

第一次回答后编辑:

我已经找到了“启用XAML”的东西,但在另一个地方:“工具”菜单,“选项”,“XAML设计器”,“常规”,它看起来如下:

既然已经启用了,为什么我什么都看不到?
Francesco提到的地方,有以下内容(点击“高级”按钮后显示小对话框):

esyap4oy

esyap4oy1#

恐怕在WPF中,绑定路径在编译时不会被计算。使用x:Bind不支持compiled bindings
在 * 运行时 *,如果您在Visual Studio中调试应用程序,并在工具>选项>调试>输出窗口> WPF跟踪设置对话框中将Data Binding选项设置为Off以外的任何选项,您将看到有关绑定失败的警告。

tcbh2hod

tcbh2hod2#

在Visual Studio中,可以启用XAML代码分析,以在生成过程中捕获XAML文件中的拼写错误和其他问题。这可以帮助您查找和修复类似您提到的错误。以下是如何启用它:
在Visual Studio 2022中打开WPF项目。
在解决方案资源管理器中右键单击项目并选择“属性”。
在项目属性窗口中,导航到“Build”选项卡。
在“输出”部分,您会发现一个名为“XAML语言服务”的选项。确保“XAML语言服务”选项设置为“启用”。
单击“保存”按钮将更改应用到项目属性。
通过在解决方案资源管理器中右键单击项目并选择“重建”来重建项目。
启用XAML语言服务后,Visual Studio将在生成过程中对XAML文件执行代码分析,并针对拼写错误的属性名称、缺少资源等问题提供警告和错误。在您的情况下,它应该捕获您在XAML绑定中提到的拼写错误,并在“错误列表”或“输出”窗口中显示警告或错误。
启用XAML语言服务后,在生成过程中,您应该在“错误列表”窗口(“视图”>“错误列表”)中看到与XAML文件相关的警告和错误。这应该有助于您识别和修复类似于您遇到的问题。

相关问题