Настройка TaskbarItemInfo через стиль WPF или триггер - PullRequest
4 голосов
/ 23 февраля 2012

WPF 4 включает класс Freezable «TaskbarItemInfo», который добавляет присоединенное свойство к окну, которое позволяет изменять различные элементы панели задач Windows 7.

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

Например:

<Window.Style>
    <Style>
        <Setter Property="TaskbarItemInfo.ProgressState" Value="Indeterminate" />
    </Style>
</Window.Style>

<Window.TaskbarItemInfo>
    <TaskbarItemInfo />
</Window.TaskbarItemInfo>

Похоже, что прикрепленное свойство не устанавливается с помощью стиля. Мой синтаксис для установки вложенных свойств с помощью стилей неправильный, или я что-то упускаю?

1 Ответ

2 голосов
/ 01 июня 2012

TaskbarItemInfo не наследуется от FrameworkElement, поэтому для DataTrigger.

не существует свойства Style, почему бы вам не связать свои TaskbarItemInfoProgressState к свойству, которое вы хотели использовать в вашем DataTrigger, а затем используйте ValueConverter для преобразования его в соответствующее TaskbarItemProgressState.

<Window.TaskbarItemInfo>
    <TaskbarItemInfo ProgressState="{Binding YourProperty, Mode=OneWay, Converter={StaticResource ProgressStateConverter}}" />
</Window.TaskbarItemInfo>   

Тогда простой конвертер может возвратить что угодно TaskbarItemProgressState относится к вашему свойству триггера.

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