如何将选定的组合框绑定到Collection View Source

时间:2015-02-08 15:04:02

标签: c# xaml mvvm combobox collectionviewsource

似乎无法找到解决方案。我有一个带有2个可观察集合的视图模型和一个带有单个组合框的视图,它通过集合视图源绑定到这两个可观察集合。

这是XAML:

<ComboBox SelectedItem="{Binding selectedvalue}">
    <ComboBox.Resources>
        <CollectionViewSource x:Key="CustomCollection1" Source="{Binding Collection1}"/>
        <CollectionViewSource x:Key="CustomCollection2" Source="{Binding Collection2}"/>
    </ComboBox.Resources>

    <ComboBox.ItemsSource>
        <CompositeCollection>
            <CollectionContainer Collection="{Binding Source={StaticResource CustomCollection1}}"/>
            <CollectionContainer Collection="{Binding Source={StaticResource CustomCollection2}}"/>
       </CompositeCollection>
    </ComboBox.ItemsSource>

    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Grid.Row="0" Text="{Binding Name, Mode=OneWay}"/>
                <Grid Grid.Row="1">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition Width="6"/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
               <TextBlock Grid.Column="0" Text="{Binding Name, Mode=OneWay,  UpdateSourceTrigger=PropertyChanged}"/>
               <TextBlock Grid.Column="2" Text="{Binding Balance, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
               </Grid>
           </Grid>
       </DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>

看似无论我做什么,我都无法获得所选值。我有其他组合框工作正常,所以我知道在大多数情况下,Selectedvalue和SelectedValuePath给出了所需的结果。但它似乎不适用于集合视图源我得到的只是属性的路径而不是值本身。

那么如何使用mvvm从绑定到集合视图源的组合框中获取所选值?

提前致谢!

0 个答案:

没有答案