2011-08-18 53 views
4

在我的WPF应用程序中,我使用Expression Blend设计了Form。令我惊讶的是,当我使用Visual Studio 2008加载解决方案时,渲染是非常不同的。更令人惊讶的是,当我运行该应用程序时,生成的UI与由VS和Blend完成的渲染不同。虽然我没有提供XAML代码,但一般来说这是一个已知的问题?Expression Blend和Visual Studio呈现不同的WPF控件

+0

+1“完全是我的怀疑!”......我曾看到过这种情况发生在组合框中一次......我的模板在VS2010中看起来与混合和不同有所不同。 Blend's就像预期的一样。 –

回答

3

这绝对是一个已知的问题。 Visual Studio使用所谓的Cider设计器来呈现WPF代码。它绝对会让Blend产生不同的XAML。 VS2008中的苹果酒非常糟糕,但在2010年变得更好了(但与Blend相比仍然非常糟糕)。 Cider和Blend之间的主要区别之一是Cider会读取文件后面的代码(* .xaml.cs),而Blend会完全忽略它。另一个值得注意的区别是Cider并没有真正理解像Visual States和Blend SDK Behaviors这样的东西(特别是当你混合这两者时),而Blend完全理解它们。

如果您构建的视图类在XAML中设置DataContext,然后提供设计时数据(使用Blend或视图模型定位器),您会发现Blend和如何处理实际上看运行时。