StaticResource в Silverlight ControlTemplate?

Я пытаюсь использовать StaticResource в ControlTemplate для настраиваемого объекта, и всякий раз, когда этот объект отображается, приложение вылетает. Как вы можете видеть в приведенном ниже коде, я определяю и шаблон, и ресурс в App.XAML. Я немного искал, чтобы узнать, разрешено ли / почему это запрещено, но пока мне не повезло.

    <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), я был бы очень признателен.

Изменить: я чувствую, что должен указать, что меня в основном просто интересует возможность установить цветовую схему в одном месте; остальную часть темы менять не нужно.


person oltman    schedule 14.08.2009    source источник
comment
Вы уверены, что хотите создать ControlTemplate? Я думаю, вам нужно пойти на DataTemplate, и ваша привязка StaticResource выглядит нормально.   -  person Jobi Joy    schedule 14.08.2009
comment
Извините, я так долго висел ... не видел комментария. Я никогда не слышал о классе DataTemplate, поэтому провел небольшое исследование и думаю, что мне нужен ControlTemplate, основанный на том, что я нашел здесь: vistax64.com/avalon/   -  person oltman    schedule 19.08.2009


Ответы (1)


Вместо Color вы можете попробовать использовать SolidColorBrush

‹SolidColorBrush x: Key =" PersonBackground "Color =" # FF003B00 "/›

person Paully    schedule 19.08.2009
comment
Вау, я удивлен, что не уловил этого. Silverlight действительно необходимо поработать над сообщениями об ошибках ... Поскольку я задал этот вопрос, я обнаружил TemplateBindings, которые больше соответствуют тому, что я хочу делать. Спасибо! - person oltman; 19.08.2009
comment
LOL без проблем! Это случилось со мной, но теперь я знаю, что почти все нужно чистить. - person Paully; 19.08.2009