<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Key}"></TextBlock>
<ComboBox ItemsSource="{Binding Value}" SelectedItem="{Binging SomeProperty}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
我在一个字典中,我想绑定SelectedItem=“{Binging SomeProperty}”
SomeProperty是ViweModel的一个属性,而不是在字典中。 怎么做? 如何绑定到当前绑定上下文之外的属性。
如果将
绑定到Window.DataContext
的属性,您可以使用RelativeSource
以以下方式执行此操作:
<ComboBox ItemsSource="{Binding Value}" SelectedItem="{Binding DataContext.SomeProperty, RelativeSource={RelativeSource AncestorType=Window}}">
或者如果您希望显示SelectedItem
,例如在某些TextBox
中(例如String
的集合):
<TextBox Text="{Binding MyCollection/}"/>
<ComboBox ItemsSource="{Binding MyCollection}" IsSynchronizedWithCurrentItem="True">
带有“/”的MyCollection
获取用作MyCollection
的ICollectionView
的DefaultView
的当前项。 阅读详细信息>>>