安装VS 2012后,WPF Datagrid会更改其行为

时间:2012-11-15 09:16:40

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

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

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

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

我们知道,从理论上讲,预计不会产生任何影响,但我们已经看到了这个问题,而且我们的信仰正在摇摇欲坠。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

在第一个场景中,我在安装了VS2012的计算机(编译它的计算机)中执行了这个应用程序,结果就是这样:

enter image description here

正如您在此图像中看到的那样,有两个显式添加的列(“CANTIDAD PENDIENTE”和“FECHA”)和两个自动生成的列(“P1”和“P2”基于我用过的匿名对象的实际属性的ItemsSource)。这就是你在问题中解释的内容。

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

enter image description here

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

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