7

我的问题如下:

我在 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>

然而没有运气。

4

1 回答 1

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>

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

Blend的截图

为了更清楚地了解 VS 2010 和 VS 2012 之间的区别:

  • VS 2010 WPF 设计器有限,如果继续使用 2010,您将需要使用 Expression Blend 才能在设计模式下获得真正的主题
  • VS 2012 有一个新的更好的 WPF 设计器,它基于 Blend
  • Blend for VS 2012 随 VS 2012 一起提供,但仅限于 RTM 版本中的 ModernUI 项目
  • Blend for VS 2012 需要更新 2(目前 CTP 4 可用)来处理桌面应用程序的 WPF 项目,正如 lordcheeto 在他的评论中所说
于 2013-03-26T10:38:05.573 回答