我在 TabControl 中使用以下 ItemTemplate 来设置选项卡项的内容和选项卡项的前景色。这两个属性在同一个 ViewModel 类中可用:
<TabControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<ContentPresenter
Content="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}"
TextElement.Foreground="{Binding Path=Color, Converter={converter:ColorToBrushConverter}, UpdateSourceTrigger=PropertyChanged}"/>
</DockPanel>
</DataTemplate>
</TabControl.ItemTemplate>
至于“名称”属性,一切都按预期工作。修改属性时,选项卡项上的名称会更改。但是对于“颜色”属性,这不起作用。我不断得到
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“字符串”(HashCode=2145491359)上找不到“颜色”属性。绑定表达式:路径=颜色;DataItem='String' (HashCode=2145491359); 目标元素是'ContentPresenter'(名称='');目标属性是“前景”(类型“画笔”)
将 TextElement.Foreground 设置为恒定颜色(例如“白色”)时,它可以工作。
我的绑定有什么问题?