我对WPF中的样式的数据绑定有问题。
基本设置如下:
<Style x:Key="{x:Type eo:Player}" TargetType="{x:Type eo:Player}">
<Style.Triggers>
<DataTrigger Binding="{Binding Team}" Value="A">
<Setter Property="Template" Value="{StaticResource TeamATemplate}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
该样式应用于类型为player的所有对象。这些对象具有类型team的属性(枚举具有值a、b和c)。根据玩家所在的团队,应用于可视化的模板中的玩家有所不同。
现在出现的问题是,整个事件都在MVVM应用程序中使用,并且播放机对象的DataContext以某种方式设置为最顶层视图的ViewModel。我使用了新的诊断选项(tracelevel)来找出问题所在,并得到了以下结果:
System.Windows.Data Warning: 66 : BindingExpression (hash=30607723): Found data context element: Player (hash=35170261) (OK)
System.Windows.Data Warning: 74 : BindingExpression (hash=30607723): Activate with root item ToolboxViewModel (hash=61398511)
System.Windows.Data Warning: 104 : BindingExpression (hash=30607723): At level 0 - for ToolboxViewModel.Team found accessor <null>
因此,基本上,player对象是作为数据上下文元素(不管这意味着什么),但toolboxviewmodel仍然用作数据上下文。我怎么修这个?如何在绑定表达式中引用样式化对象?