用来自不同 ViewModel 的项目填充 ComboBox

fill ComboBox with items from different ViewModel

我有一个 ComboBox 绑定到 DataContext SceneViewModel,但我想用来自另一个名为 GearViewModel 的 ViewModel 的 observableCollection 的数据填充它。 我该怎么做呢?或者这可能吗

这是xaml

<UserControl x:Class="MoviePrepper.View.SceneView"
 DataContext="{Binding SceneViewModel, Source={StaticResource Locator}}">

<Grid>
    <ComboBox ItemsSource="{Binding to observableCollection in GearViewModel}}" SelectedItem="{Binding SceneCollectionView/Equipment, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</UserControl>

您可以使用这样的绑定来实现此目的:

<ComboBox ItemsSource="{Binding GearViewModel.MyCollection, Source={StaticResource Locator}}" 
          SelectedItem="{Binding Equipment, UpdateSourceTrigger=PropertyChanged}"/>

其中 ItemsSource 属性 绑定到 Locator 中的 GearViewModel.MyCollection 属性,而 SelectedItem 绑定到 SceneViewModel.Equipment(由 UserControlDataContext 设置)。

不清楚 属性 您在 SelectedItem 属性 上绑定的确切想法,所以我做了一些假设。

任何人,这应该可以解决将 ItemsSource 属性 绑定到不同视图模型的问题。