【问题标题】:WPF Datagrid changes its behavoiurs after installing VS 2012WPF Datagrid 在安装 VS 2012 后改变了它的行为
【发布时间】:2012-11-15 09:16:40
【问题描述】:

到目前为止,我们有一个 WPF 项目,它一直在 VS2010 中编译。我们安装了VS2012并在其中打开了我们的项目,然后我们检测到以下问题:

我们有一些将 AutogenerateColumn 属性设置为 true 的数据网格。当我们向这个数据网格添加新列时,只显示这些新列(它必须是错误的行为)。安装 VS2012 后,新列和自动生成的列都会显示(如预期的那样)。从那时起,它也发生在 VS2010 中编译我们的项目,就像在 VS2012 中一样。我们确信我们所有直接引用的程序集仍在 .NET Framework 的 4.0 版本中,而不是在 4.5 版本中,并且我们完全没有更改任何代码。

我们并不担心 WPF DataGrids 中的这个特殊问题,因为它很容易通过将 AutogenerateColumns 设置为 false 来修复。我们担心在 VS2012 安装过程中会更改哪些间接引用,以及它会对我们的应用程序产生什么其他影响。

我们知道,理论上不会产生影响,但我们已经看到了这个问题,而且我们现在的信心正在摇摇欲坠。

任何帮助将不胜感激。

【问题讨论】:

  • 嗨,Gus,我想帮忙看看。您能否通过 microsoft dot com 的 netfx45compat 向我发送电子邮件,并附上重现问题的代码?

标签: visual-studio-2010 reference visual-studio-2012 wpfdatagrid migrate


【解决方案1】:

我刚刚以两种不同的方式测试了您所说的内容,并且在这两种方式中,应用程序都使用 VS2010 IDE 并针对 .NET Framework 4.0 在同一台机器(安装了 VS2012 和 VS2010)中编译客户资料。

在第一个场景中,我在安装了 VS2012 的机器上执行这个应用程序(它被编译的那个),结果如下:

正如您在这张图片中看到的,有两个明确添加的列(“CANTIDAD PENDIENTE”和“FECHA”)和两个自动生成的列(“P1”和“P2”,基于我使用的匿名对象的实际属性项目来源)。这就是您在问题中解释的内容。

第二种情况有点不同。我已经在另一台安装了 VS2012(既没有 .NET 4.5 Framework)的机器上执行了相同编译的应用程序,得到的结果令人担忧:

我认为您应该测试您的整个应用程序,以确保您没有交付错误的应用程序,具体取决于客户环境中安装的框架,但显然这可能是一个真正令人头疼的问题。

我真的希望这有助于澄清您的问题。

【讨论】:

  • @anticol 大家好,我想帮忙看看。您能否通过 microsoft dot com 的 netfx45compat 向我发送电子邮件,并附上重现问题的代码?
猜你喜欢
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
相关资源
最近更新 更多