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

Dav*_*vio 7 wpf design-view visual-studio-2010

我的问题如下:

我在Windows 8上的Visual Studio 2010中设计了我的WPF应用程序.我知道该应用程序仅用于Windows XP经典模式.

我在Visual Studio的设计视图中看到的与Windows XP上的最终结果不匹配.字体有点不同,因此一些文本框最终太小或太大.

有没有办法强制Visual Studio的设计视图使用Windows XP的经典主题,而不是我当前的操作系统或它能够使用的最现代的主题?

我尝试过以下方法:

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/PresentationFramework.Classic;component/themes/classic.xaml" />
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)

然而,没有运气.

Per*_*lmi 5

我认为您需要使用Expression Blend来获取使用Classic主题渲染的设计时视图.它比VS 2010中的设计器更先进.VS 2012中的xaml设计器已更新为具有Blend的更多高级功能,并且还支持在Visual Studio内的设计时使用指定主题进行渲染.

因此,如果您需要具有经典主题的WYSIWYG设计师,您可以使用Blend和以下资源来实现:

<Application.Resources>
    <ResourceDictionary Source="/PresentationFramework.Classic;component/themes/classic.xaml" />
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

然后Blend中的设计器结果如下所示(Blend for Visual Studio 2012):

来自Blend的screeenshot

为了使VS 2010和VS 2012之间的差异更加清晰:

  • VS 2010 WPF设计师是有限的,如果继续2010年,你将需要使用Expression Blend来获得设计模式中的真实主题
  • VS 2012有一个基于Blend的新的更好的WPF设计器
  • VS 2012的Blend for VS 2012与RT 2012一起提供,但仅限于RTM版本中的ModernUI项目
  • 适用于VS 2012的Blend需要更新2(目前可以使用CTP 4)来处理桌面应用程序的WPF项目,正如lordcheeto在评论中所说的那样