3 回答
TA贡献1765条经验 获得超5个赞
Transparent将创建一个初始化为透明颜色的画笔,null将属性设置为null,这意味着目标属性未附加画笔。在WPF中,为元素设置画笔通常很重要。例如,如果要跟踪元素中的鼠标按下,则必须设置背景。如果您不想设置纯色(使其不透明),则可以使用透明笔刷。这可以通过字符串值“透明”来完成。
区别在于设置属性的方式和方式。如果为画笔属性指定null,则该属性将真正设置为null。如果将字符串设置为“透明”,则将字符串转换为画笔的默认值转换器会将其转换为Brushes.Transparent画笔。
简短版本:{x:Null}将destination属性设置为null。“透明”将destination属性设置为透明画笔。
TA贡献1784条经验 获得超8个赞
两者都设置本地值的的Background属性。前者将其设置为null,后者将其设置为Brushes.Transparent。
有几点要注意的要点:
设置值null是不一样的没有设置它。由于依赖项属性可以从多个来源获取有效值,因此设置局部值(即使是null)可以优先于可能从其他来源(例如样式或动画)获得的值。
该IsHitTestVisible属性是控制命中测试可见性的另一种选择。此属性使您可以控制命中测试的可见性,而与UIElement渲染笔刷无关。
TA贡献1788条经验 获得超4个赞
该Transparent刷
将导致背景的Alpha通道设置0为100%透明
该{x:Null}值
将导致背景被设置为通过WPF默认控制颜色通常是白色像一些性质DataGrid.RowBackground和透明大多数其它属性。
指定画笔颜色是一个好习惯,因为将画笔设置为 Null可能会导致不希望的默认颜色。
添加回答
举报