WPF 4包含一个“TaskbarItemInfo”Freezable类,它将一个附加属性添加到一个Window,允许更改各种Windows 7任务栏项。
特别是,我正在尝试在窗口的tasbar图标上设置进度信息。我想使用DataTrigger执行此操作,但它似乎不起作用。我尝试使用一个简单的样式设置器,但这也不起作用 - 只有直接属性赋值或直接属性绑定才有效。
例如:
<Window.Style>
<Style>
<Setter Property="TaskbarItemInfo.ProgressState" Value="Indeterminate" />
</Style>
</Window.Style>
<Window.TaskbarItemInfo>
<TaskbarItemInfo />
</Window.TaskbarItemInfo>
好像附加属性没有通过样式设置。我通过样式设置附加属性的语法是不正确的,还是我错过了其他内容?
答案 0 :(得分:2)
TaskbarItemInfo
不会继承FrameworkElement
,因此您无法在Style
中设置DataTrigger
属性。
为什么不将TaskbarItemInfo
的{{1}}绑定到您想要在ProgressState
中使用的属性,然后使用DataTrigger
将其转换为相关的ValueConverter
。
TaskbarItemProgressState
然后,一个简单的转换器可以返回适用于您的触发器属性的<Window.TaskbarItemInfo>
<TaskbarItemInfo ProgressState="{Binding YourProperty, Mode=OneWay, Converter={StaticResource ProgressStateConverter}}" />
</Window.TaskbarItemInfo>
。