当前位置: 代码迷 >> C# >> MVVM 怎么把Combox中被选择的值传回ViewModel
  详细解决方案

MVVM 怎么把Combox中被选择的值传回ViewModel

热度:448   发布时间:2016-05-05 03:57:03.0
MVVM 如何把Combox中被选择的值传回ViewModel



 <ComboBox  ItemsSource="{Binding ListDic}" SelectedItem="{Binding SelectClass1, Mode=TwoWay}"  DisplayMemberPath="Key" HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="100">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="SelectionChanged">
                        <i:InvokeCommandAction Command="{Binding OnCommand}"   
                                                       CommandParameter="{Binding ElementName=}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>


大致代码如上,

但是不明白,原来用ItemsSource绑定 List时,不需要<i:Interaction.Triggers> 也可以把值设到SelectClass1

后来 ,ItemsSource绑定的是Dictionary,就没有实行到设值到SelectClass1 了
------解决思路----------------------
可以绑定 Text 属性,而不是 SelectedValue。

你那种 Triiger 还是 MVP 写法,而不是 MVVM 的。既然可绑定属性改变,那么就用不着在 UI 层的这种 Trigger 了。