【发布时间】:2012-04-25 15:05:24
【问题描述】:
我想将 wpf 列表视图的列标题可见性绑定到依赖属性,而不会丢失我使用的全局样式(表达式黑暗)。
我定义了一种风格:
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="{Binding ColumnHeaderVisibility}" />
</Style>
然后我这样应用它:
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
我正在使用表达黑暗主题。它是通过 MergedDictionaries 导入的,可以在运行时更改。
当列标题不可见时一切正常。但是当它可见时,它会以默认窗口样式显示,因为设置 ColumnHeaderContainerStyle 会覆盖表达式深色样式。
在原始样式上使用“BasedOn”是不可行的,因为由于需要在运行时更改样式,所有资源都是动态的。 BasedOn 仅适用于静态资源,不允许在运行时更改。
我还能做什么?
【问题讨论】: