访问样式设置器中的嵌套信息

时间:2017-04-13 09:59:28

标签: wpf xaml nested styles setter

我无法访问样式设置器中给出的xaml中的嵌套信息:

<Style x:Key="MainMenuItemStyle" TargetType="{x:Type MenuItem}">
    <Setter Property="Header" Value="{Binding Path=Tab.tab.Header}"/>
</Style>

这个想法是menuItems是MainMenuViewModel的类型,它包含TabViewModel(Tab),它有一个最终具有Header值的TabModel(tab)。 如果我只放Tab,它的工作原理是TabViewModel,但当我把Tab.tab放入时,错误是:

System.Windows.Data错误:40:BindingExpression路径错误:'object'''TabViewModel'(HashCode = 38010219)'上找不到'tab'属性。 BindingExpression:路径= Tab.tab; DataItem ='MainMenuViewModel'(HashCode = 58345486); target元素是'MenuItem'(Name =''); target属性是'Header'(类型'Object')

1 个答案:

答案 0 :(得分:2)

tab必须是公开的属性才能绑定到它:

public TabModel tab { get; set; }

不能是一个字段:

public TabModel tab;