Проблема переднего плана элемента списка - PullRequest
1 голос
/ 03 марта 2009

У меня проблема с одним из моих проектов XBAP (приложение для браузера WPF):

Здесь у меня есть два списка:

  • Один простой список, содержащий текстовое содержимое
  • Второй содержит расширитель в качестве каждого элемента:

альтернативный текст http://i44.tinypic.com/117bpj4.jpg

Теперь, когда я нажимаю на элемент в первом списке (слева), передний план становится белым, а затем становится черным, если выбран другой элемент.

Где для элемента во втором списке (справа), когда я нажимаю на элемент, передний план остается черным. Это потому, что само текстовое содержимое содержится в элементе управления Expander:

альтернативный текст http://i39.tinypic.com/124vn6u.jpg

Теперь, как сделать так, чтобы цвет переднего плана элемента управления Expander вел себя так же, как при выборе элемента списка / изменении выбора? Есть ли какое-либо свойство зависимости, которое я могу использовать для достижения этой цели?

Примечание: я хочу, чтобы второй список (справа) вел себя точно так же, как первый (слева), относительно цвета переднего плана.

1 Ответ

5 голосов
/ 03 марта 2009

Просто добавьте Foreground="{TemplateBinding TextElement.Foreground}" к элементам в шаблоне, как это

<DataTemplate DataType="{x:Type l:City}">
    <Expander 
        Header="Click to Expand" 
        Foreground="{TemplateBinding TextElement.Foreground}"
        >
        <TextBlock 
            Text="{Binding Name}" 
            Foreground="{TemplateBinding TextElement.Foreground}"
            />
    </Expander>
</DataTemplate>
...