绑定到父数据上下文
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}}" />
我后面的代码如下
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}}" />