2013-03-21 31 views
7

我的问题是:如何强制Visual Studio设计视图使用经典主题进行渲染?

我设计我的WPF应用程序在Visual Studio 2010在Windows 8 我知道应用程序只会在Windows XP经典模式中使用。

我在Visual Studio的设计视图中看到的内容与我在Windows XP上的最终结果不符。字体有点不同,因此一些文本框最终会变得太小或太大。

有什么办法强制Visual Studio的设计视图使用Windows XP的经典主题,而不是从我当前的操作系统或最现代的一个可以使用?

我已经试过如下:

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="/PresentationFramework.Classic;component/themes/classic.xaml" /> 
</ResourceDictionary.MergedDictionaries> 

不走运不过。

回答

5

我认为你需要使用Expression Blend来获得用Classic主题呈现的设计时间视图。它比VS 2010中的设计器更先进。VS 2012中的xaml设计器更新为具有更多来自Blend的高级功能,并支持在Visual Studio中设计时使用指定主题进行渲染。

<Application.Resources> 
    <ResourceDictionary Source="/PresentationFramework.Classic;component/themes/classic.xaml" /> 
</Application.Resources> 

设计师结果在Blend则是这样的(混合为Visual Studio 2012):

所以如果你需要所见即所得的设计与经典的主题,你可以通过使用混合又像资源做

screeenshot from Blend

为了使它更清楚一点关于2012 VS 2010和VS之间的差异:

  • VS 2010 WPF设计是有限的,如果与2010年继续,你会 需要使用Expression Blend的获得在设计模式中真正的主题
  • VS 2012具有一个基于共混
  • 混合为一个新的更好的WPF设计VS 2012与VS 2012提供,但仅限于ModernUI 项目在RTM版本
  • 掺和VS 2012需要更新2(目前CTP 4是avaliable)来处理WPF项目的桌面应用,lordcheeto在他的评论中说:
+0

好的,我会研究这个,并会发布ba如果满意的话,结果并提供赏金。 :) – Davio 2013-03-27 09:15:35

+0

这应该适合您,但请注意,您需要手动安装VS2012 Update 2 CTP 4 - 它不会通过自动更新推送。我还建议明确定义控件的宽度和高度。 – lordcheeto 2013-03-29 03:53:45