1

我有一个转换器,它将自定义对象转换SolidColorBrush为 ListView 项目的文本颜色,可以是红色或黑色。问题是列表视图的 PointerOver 模板(和其他模板)会自动反转文本颜色以匹配对比度,但转换器设置的颜色不会自动更改,所以我的问题是是否有默认的 SolidColorBrush 不会使这是个问题?

4

2 回答 2

2

试试这个:

SolidColorBrush defaultBrush = new SolidColorBrush();
controlObject.BorderBrush = defaultBrush;
于 2016-05-18T16:03:53.623 回答
1

我相信default(SolidColorBrush)null

您可以使用ItemContainerStyleSelector代替转换器或与转换器一起使用以使用不同的项目样式,包括画笔。您当前的解决方案可能会覆盖{TemplateBinding Foreground}默认模板之一中某处的设置,这会破坏依赖属性值推断链。您可以查看此以获取有关依赖属性Value Precedence的更多信息。

于 2013-02-28T14:36:49.520 回答