WPF

来源:互联网 发布:分享到qq好友js代码 编辑:程序博客网 时间:2024/06/17 06:52
原文:http://www.cnblogs.com/mantian/archive/2014/05/07/3713524.html

将所有的事件,属性,都映射到ViewModel中。好处多多,以后开发尽量用这种模式。

解决方法:

使用System.Windows.Interactivity.dll,添加该dll到项目引用

?
1
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

ComboBox映射的代码:

复制代码
<ComboBox VerticalAlignment="Center" HorizontalAlignment="Left" MinWidth="120" Margin="10,0,0,0"                              x:Name="cboTest"                               DisplayMemberPath="FamilyName"                                SelectedValuePath="IdFamily"                               IsReadOnly="True"                              ItemsSource="{Binding ListFamily}"                              SelectedValue="{Binding Path=ViewModel.SelectedFamilyNameID, Mode=TwoWay, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"                              Validation.ErrorTemplate="{x:Null}"                              Visibility="{Binding ComboBoxVisibility}"                              >                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="SelectionChanged">                                    <i:InvokeCommandAction Command="{Binding FamilySelectionChangedCommand}"                                                          CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},Path=DataContext}"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </ComboBox>
复制代码

原创粉丝点击