绑定到父数据上下文

Binding to parent datacontext

我后面的代码如下

this.DataContext = MainWindowViewModel.Instance;

xaml 我试过了

<ComboBox ItemsSource="{Binding Vendors, 
    RelativeSource={RelativeSource AncestorType=Window}}" 
    Visibility="{Binding RepairHasNoVendors, 
    Converter={StaticResource VisibilityOfBool}}"/>

我的错误

Error: 40 : BindingExpression path error: 'Vendors' property not found on 'object' 
''MainWindow' (Name='')'. BindingExpression:Path=Vendors; DataItem='MainWindow' 
(Name='')

据我所知,我已经在代码隐藏中设置了我的 window 数据上下文,我认为通过将 relaticesource 指定为 window 我可以访问这些属性?

我的视图模型有 属性

public ObservableCollection<VendorViewModel> Vendors

我还想补充一点,我的组合框位于 datagridtemplatecolumn 内,其数据上下文设置正确,我能够访问这些属性,例如,我的数据网格具有 datagridtextcolumn 并且可以对其进行绑定

<DataGridTextColumn Header="Repair Id" Width="Auto" Binding="{Binding RepairID}"/>

您需要绑定到 window 的 datacontext 中的 属性,而不是 window

<ComboBox ItemsSource="{Binding Path=DataContext.Vendors, 
    RelativeSource={RelativeSource AncestorType=Window}}" 
    Visibility="{Binding RepairHasNoVendors, 
    Converter={StaticResource VisibilityOfBool}}" />