如何解决为DataTrigger的双级分组设置不同的样式
|| 我有一个双层分组,并认为我可以使用DataTriggers定义不同的样式。 考虑到GroupStyles.HeaderTemplate将绑定到CollectionViewGroup,我尝试将DataBinding绑定到IsBottomLevel属性。<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock x:Name=\"GroupName\"
Text=\"{Binding Path=Name}\"
Foreground=\"Red\" />
<DataTemplate.Triggers>
<DataTrigger Binding=\"IsBottomLevel\" Value=\"True\" >
<Setter TargetName=\"GroupName\" Property=\"Foreground\" Value=\"Blue\" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
我能以某种方式使它工作吗?
解决方法
在TextBlock本身的样式中定义触发器,“ 1”通常用于ControlTemplates,然后可以将其删除。
这不是绑定:
Binding=\"IsBottomLevel\"
当然,您应该将其替换为以下内容:
Binding=\"{Binding IsBottomLevel}\"
<TextBlock Text=\"{Binding Name}\">
<TextBlock.Style>
<Style TargetType=\"{x:Type TextBlock}\">
<Setter Property=\"Foreground\" Value=\"Red\" />
<Style.Triggers>
<DataTrigger Binding=\"{Binding IsBottomLevel}\" Value=\"True\">
<Setter Property=\"Foreground\" Value=\"Blue\" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
如果直接在TextBlock声明中设置红色前景,则由于优先级,触发器将无效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。