自定义控件(在VS 2008下编写)具有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是Binding的简化版本,它有一组限制,那么导致上述代码不起作用的确切限制是什么?
最佳答案 TemplateBinding非常不同.在应用模板时,将它们视为简单的值赋值.
由于SelectedItem在运行时更改,因此您需要对属性更改通知进行实际绑定.