2009-08-13 42 views
9

如果您將樣式放入app.xmal,那麼您可以使用以下代碼獲得樣式:如何從資源字典獲取代碼中的樣式?

Style = Application.Current.Resources [「myStyle」] as Style;

但如果我把風格在一個單獨的文件的字典資源Styles.xmal喜歡:

<Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries>     
       <ResourceDictionary Source="Assets/Styles.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 

那麼如何獲得樣式代碼?

回答

8

找出了原因:代碼

Style = Application.Current.Resources["myStyle"] as Style; 

工作正常。我的問題是由一些其他因素造成的。

0

提示:

  • 要小心,不要爲錯誤當前對象做this.Resources如果是Styles.xaml或Resources.xaml
  • 你在尋找什麼也不希望看到Application.Current.Resources的「添加監視」對話框中的所有資源。在XAML中定義的將不會在那裏(至少不在頂層)