2013-03-21 30 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