Условная установка цвета связанного элемента в XAML на основе другого поля источника данных - PullRequest
2 голосов
/ 16 мая 2011

У меня есть следующий шаблон элемента в списке WP7. Мой связанный тип имеет логическое свойство (Status), и я хотел бы условно установить цвет имени сайта на основе этого. Как бы я поступил так, пожалуйста?

Заранее спасибо!

<ListBox.ItemTemplate>
 <DataTemplate>
  <StackPanel Margin="0,0,0,17" Width="432">
   <TextBlock Text="{Binding SiteName}" TextWrapping="Wrap" />
   <TextBlock Text="{Binding Url}" TextWrapping="Wrap" Margin="12,-6,12,0" />
  </StackPanel>
 </DataTemplate>
</ListBox.ItemTemplate>

1 Ответ

3 голосов
/ 16 мая 2011

Самый простой способ сделать это с помощью конвертера.Либо у вас может быть конвертер, возвращающий цвет, либо у вас может быть два текстовых блока, каждый из которых имеет нужный вам цвет, и используется логическое значение для видимости, а другой - с обратной видимостью, конвертеры для скрытия / отображения каждого элемента управления.

Одним словом предостережения является то, что конвертеры могут быть медленными, поэтому иногда более эффективно связывать их с ViewModel, и в этом ViewModel предоставляют требуемые преобразованные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...