Вопрос

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

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

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

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

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

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

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

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

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

Это было полезно?

Решение

Просто добавь 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top