我有一个转换器,可以将自定义对象转换为SolidColorBrush
,用于ListView文本颜色的项目,可以是红色或黑色。
问题是listview的PointerOver模板(以及其他模板)会自动反转文本颜色以匹配对比度,但转换器设置的颜色并没有自动更改,所以我的问题是是否有默认的SolidColorBrush,它不会生成这个问题?
答案 0 :(得分:2)
试试这个:
SolidColorBrush defaultBrush = new SolidColorBrush();
controlObject.BorderBrush = defaultBrush;
答案 1 :(得分:1)
我相信default(SolidColorBrush)
是null
。
您可以使用ItemContainerStyleSelector代替转换器或与转换器一起使用不同的项目样式,包括画笔。您当前的解决方案可能会覆盖{TemplateBinding Foreground}
设置在某个默认模板中的某个位置,这会破坏依赖项属性值推断链。您可以查看此信息以获取有关依赖项属性Value Precedence的更多信息。