我有一个小的UserControl,它需要知道正在渲染它的控件的背景画笔。
但是,如果我查看UserControl的Background属性,它将返回null。
如果我调用GetValue(UserControl.BackgroundProperty),它也会返回null,即使在Visual树中它肯定是设置的。
似乎我必须遗漏一些非常明显的东西,因为它不能很难找出控件的背景颜色。
答案 0 :(得分:2)
在我看来,你的UserControl没有定义背景颜色 - null表示透明,这就是父控件背景可见的原因。
它仍然是父控件的背景颜色 - 控件没有自己的背景颜色并不意味着它从父控件获取颜色。控件的“背景”只会显示控件背后的内容。
答案 1 :(得分:1)
background属性不是从父级继承的,你必须自己设置它。