访问样式为 setter 的嵌套信息

Access nested information in style setter

我无法访问 xaml 中的嵌套信息,样式为 setter:

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

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

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

tab 必须是 public 属性 才能绑定到它:

public TabModel tab { get; set; }

不能是一个字段:

public TabModel tab;