2012-03-18 6 views
1

Есть ли способ динамически связать стиль ресурса прямоугольника?Динамическое связывание ресурса стиля

следующие работы:

<Rectangle Grid.ColumnSpan="4" Margin="0,0,0,8" Fill="{Binding RectangleColor}" /> 

Таким образом, каждый элемент списка имеет различный цвет в зависимости от его типа.

Проблема в том, что я не люблю простые цвета, и я бы хотел, чтобы они следовали за ресурсом стиля. К сожалению, это нужно делать динамично.

Попытка это не работало:

<Rectangle Grid.ColumnSpan="4" Margin="0,0,0,8" Style="{Binding RectangleStyle}" /> 

ответ

2

Трудно сказать, что вы пытаетесь сделать, но это звучит, как вы хотите DataTemplateSelector. Конечно, они не существуют в Silverlight. Кажется, что у всех, у кого есть блог, есть способ его реализовать. Here - это версия WP7. Если вы используете WP7.1, вы можете столкнуться с небольшими проблемами, которые покрываются this stack overflow question.

+0

На самом деле у меня есть DataTemplate, и он работает правильно. В моем случае динамическое назначение DataTemplate не является опцией, так как всегда все элементы одинаковы (список один и тот же), что мне нужно динамически менять, это шаблон стиля стиля каждого элемента в DataTemplate списка. И еще раз - привязка текста к некоторым значениям (текстовые блоки и т. Д.) Или цвет заливки прямоугольника - это легко. Мне сложно, когда речь заходит о динамическом назначении стиля для него (например, тема, поскольку я хотел бы использовать лучше цвета/эффекты, а не обычные) –

+0

Вы можете использовать это же решение со стилями. Вы также можете создать несколько шаблонов данных, которые отличаются только этим стилем. К сожалению, в нижней строке есть чистый способ XAML: он будет включать код. Ближайшим решением являются неявные шаблоны данных Silverlight 5, но даже это еще не доступно на платформе телефона. –

+0

Я боюсь, что то, что вы говорите, не вариант ... Имейте в виду, что у меня уже есть DataTemplate, и мне нужно изменить стиль одного элемента в этом DataTemplate. –

Смежные вопросы