为了账号安全,请及时绑定邮箱和手机立即绑定

{x:Null}与透明?

{x:Null}与透明?

以下两个之间有何区别?Background="{x:Null}"和Background="Transparent"
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

Transparent将创建一个初始化为透明颜色的画笔,null将属性设置为null,这意味着目标属性未附加画笔。在WPF中,为元素设置画笔通常很重要。例如,如果要跟踪元素中的鼠标按下,则必须设置背景。如果您不想设置纯色(使其不透明),则可以使用透明笔刷。这可以通过字符串值“透明”来完成。

区别在于设置属性的方式和方式。如果为画笔属性指定null,则该属性将真正设置为null。如果将字符串设置为“透明”,则将字符串转换为画笔的默认值转换器会将其转换为Brushes.Transparent画笔。


简短版本:{x:Null}将destination属性设置为null。“透明”将destination属性设置为透明画笔。


查看完整回答
反对 回复 2019-10-21
?
青春有我

TA贡献1784条经验 获得超8个赞

两者都设置本地值的的Background属性。前者将其设置为null,后者将其设置为Brushes.Transparent。


有几点要注意的要点:


设置值null是不一样的没有设置它。由于依赖项属性可以从多个来源获取有效值,因此设置局部值(即使是null)可以优先于可能从其他来源(例如样式或动画)获得的值。

该IsHitTestVisible属性是控制命中测试可见性的另一种选择。此属性使您可以控制命中测试的可见性,而与UIElement渲染笔刷无关。


查看完整回答
反对 回复 2019-10-21
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

该Transparent刷

将导致背景的Alpha通道设置0为100%透明


该{x:Null}值

将导致背景被设置为通过WPF默认控制颜色通常是白色像一些性质DataGrid.RowBackground和透明大多数其它属性。


指定画笔颜色是一个好习惯,因为将画笔设置为  Null可能会导致不希望的默认颜色。


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 901 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信