提问者:小点点

WPF,caliburn.micro:如何在当前绑定上下文之外绑定属性?


<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的一个属性,而不是在字典中。 怎么做? 如何绑定到当前绑定上下文之外的属性。


共1个答案

匿名用户

如果绑定到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获取用作MyCollectionICollectionViewDefaultView的当前项。 阅读详细信息>>>

相关问题