自定义控件(在VS2008下编写)具有SelectedColor依赖属性,其控件模板包含以下内容:
...
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush Color="{TemplateBinding SelectedColor}"/>
</Rectangle.Fill>
</Rectangle>
...矩形没有正确的颜色,除非使用以下内容重复绑定:
...
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush Color="{Binding SelectedColor, RelativeSource={RelativeSource TemplatedParent}}"/>
</Rectangle.Fill>
</Rectangle>
...好吧,我知道TemplateBinding是绑定的简化版本,它有一组限制,那么导致上述代码不能工作的确切限制是什么呢?
发布于 2011-09-13 01:55:55
TemplateBinding是非常不同的。在应用模板时,可以将它们看作是简单的赋值。由于您在运行时绑定( SelectedItem )更改,因此您需要一个真正的属性更改通知绑定。
https://stackoverflow.com/questions/6442175
复制相似问题