我有一个UserControl(复合控件),可以显示为以下伪XAML代码:
我在一堆地方使用这个自定义控件,并使用WPF样式设置其中一些.此样式将UserControl的Background属性设置为颜色.但是这个背景颜色是在UserControl的背景表面上绘制的,但我希望它只在TextBox控件的背景上绘制.这就是我得到的(颜色=红色):
替代文字http://img261.imageshack.us/img261/8600/62858047wi3.png
如果我将UserControl的Background属性绑定到我的TextBox控件的background属性,我得到以下一个:
替代文字http://img111.imageshack.us/img111/1637/30765795kw5.png
现在它还绘制了内部TextBox控件的背景,但UserControl的Background颜色仍然存在.有没有办法删除UserControl的背景画?
有很多方法可以做到这一点,但我建议在用户控件上公开自己的属性,并绑定到用户控件中的属性.例如:
...
另一种方法是明确设置TextBox
某事物的背景颜色.