6

在我的项目中,我有几个 WPF 窗口和控件。对于每一个,我都创建了一个示例视图模型,因此我可以在 XAML 设计器中通过包含如下一行来查看模拟了示例数据的窗口或控件:

         d:DataContext="{x:Static views:SampleViewModels.SampleVariableViewModel}"

多年来效果很好。但是,今天某个时候,或者可能是昨天,XAML 设计器停止在我的计算机上显示示例数据。在代码的当前和旧版本中,每个视图都显示为没有来自其示例视图模型的数据。我已经重建了项目,重新启动了 Visual Studio,并重新启动了计算机,但没有任何效果。这个问题只影响我;我的同事正确地看到了样本数据。

重要的是,XAML 设计器显示了一些数据,而不是正确的数据。例如,当一个字段绑定到“名称”时,设计者正在使用文本“名称”。数字(有时?)用 0 填充。我的视图模型有一个集合,设计师向我展示了 3 个元素。就好像有些东西正在创建一个非常粗糙的示例视图模型并使用它来代替我精心准备的示例视图模型。

请注意,除了忽略我的示例数据之外,XAML 设计器工作正常。一切都在运行时完美运行。

Visual Studio 是否有任何已知的“功能”可以做到这一点?我可能不小心点击了一些组合键,打开了一些鲜为人知的 XAML 设计器模式?

我正在使用 Visual Studio Community 2015。我已禁用 Resharper,而且我认为我没有使用任何其他可以执行此类操作的扩展。有任何想法吗?

更新:我从 ShadowCache 文件夹中删除了所有内容。那没有帮助。

更新:我安装了 Visual Studio Community 2017。在该版本中一切正常,但在 Visual Studio Community 2015 中仍然无法正常工作。

4

2 回答 2

8

我在 VS 2017 上遇到了完全相同的问题。我发现我不小心取消了 XAML 设计器中的禁用项目代码选项。激活此选项后,我的资源文件中的值再次显示。看这个截图:

Microsoft Visual Studio:禁用项目代码

于 2018-01-05T10:36:50.037 回答
2

之前提供的答案是正确的,但还有另一个正确答案:如果您正在为 X64 或 ARM 编译(例如,与 AnyCPU 或 x86 相对),那么“禁用项目代码”始终有效并且您无法打开它离开。甚至 Visual Studio 2019 似乎也不支持在设计器中运行 ARM 或 X64 代码。

于 2020-04-19T04:38:07.977 回答