访问样式为 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;
我无法访问 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;