用来自不同ViewModel的项目填充组合框
本文关键字:项目 填充 组合 ViewModel | 更新日期: 2023-09-27 18:18:34
我有一个绑定到DataContext SceneViewModel的ComboBox,但我想用来自另一个ViewModel称为GearViewModel的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
(由UserControl
中的DataContext
设置)。
目前还不清楚您想要在SelectedItem
属性上绑定什么属性,因此我做了一些假设。
无论如何,这应该解决绑定您的ItemsSource
属性到不同的视图模型的问题。