2009-08-14 115 views
1

我想在ControlTemplate中爲自定義對象使用StaticResource,並且每當該對象被呈現時,應用程序都會崩潰。正如你在下面的代碼中看到的那樣,我在App.XAML中定義了模板和資源。我一直在尋找是否爲什麼不允許,但迄今爲止沒有運氣。Silverlight ControlTemplate中的StaticResource?

<Color x:Key="PersonBackground">#FF003B00</Color> 

    <ControlTemplate x:Key="PersonTemplate" TargetType="this:Person"> 
     <Border Background="{StaticResource PersonBackground}" BorderBrush="White" 
       BorderThickness="2" CornerRadius="10" MinHeight="70" MinWidth="120"> 
    ... 
    </ControlTemplate> 

如果任何人都可以解釋爲什麼這是不允許的或我在做什麼錯誤(或者,最好的是,一個更好的方式做自定義主題化在Silverlight),我將不勝感激。

編輯:我覺得我應該指出,我大多隻是有興趣能夠在一個地方設置配色方案;主題的其餘部分不需要改變太多。

+0

你確定你要創建一個控件模板?我認爲你必須去DataTemplate和你的StaticResource綁定似乎沒問題。 – 2009-08-14 17:21:29

+0

對不起,讓我這麼長時間沒有看到評論。 我從來沒有聽說過DataTemplate類,所以我做了一些研究,我想我想要一個基於我在這裏發現的控件模板:http://www.vistax64.com/avalon/928-what-difference-between -datatemplate-controltemplate.html – oltman 2009-08-18 20:25:36

回答

2

相反的顏色,你可以嘗試使用的SolidColorBrush

<的SolidColorBrush X:鍵= 「PersonBackground」 顏色= 「#FF003B00」/ >

+0

哇,我很驚訝我沒有明白。 Silverlight真的需要處理它的錯誤信息... 由於我問了這個問題,我發現了TemplateBindings,這更符合我想要做的事情。 謝謝! – oltman 2009-08-19 13:16:13

+0

LOL沒問題!它發生在我身上,但現在我知道幾乎所有需要刷的東西。 – Paully 2009-08-19 15:14:35