DataForm 如何将点击保存按钮与MVVM的VM Command 绑定问题

网上大多的例子是通过绑定到EditEnded事件,如下所示

<toolkit:DataForm Name="dataForm员工" CurrentItem="{Binding 员工Obj}" CommandButtonsVisibility="Commit"
            AutoCommit="False" KeyDown="dataForm员工_KeyDown"
            CommitButtonContent="保存" CancelButtonContent="取消">             

<toolkit:DataForm.EditTemplate>
                <DataTemplate>
                    <StackPanel>
                        <toolkit:DataField>
                            <TextBox Text="{Binding 姓名, Mode=TwoWay}" />
                        </toolkit:DataField>
                        <toolkit:DataField>
                            <TextBox Text="{Binding 身份证, Mode=TwoWay}" />
                        </toolkit:DataField>

                    </StackPanel>
                </DataTemplate>
            </toolkit:DataForm.EditTemplate>
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="EditEnded">
                    <cmdextras:EventToCommand Command="{Binding SaveCommand}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </toolkit:DataForm>

但这样做有个缺点,程序的操作顺序是,先提交到WCF,在进行Dataform的验证。而且这种在VM中捕获不到异常。

所以建议不要用这种方法。而是通过后台代码去处理。

<toolkit:DataForm Name="dataForm员工" CurrentItem="{Binding 员工Obj}" CommandButtonsVisibility="Commit"
            AutoCommit="False" KeyDown="dataForm员工_KeyDown" EditEnded="dataForm员工_EditEnded"
            CommitButtonContent="保存" CancelButtonContent="取消">

<toolkit:DataForm.EditTemplate>
                <DataTemplate>
      <StackPanel>
                        <toolkit:DataField>
                            <TextBox Text="{Binding 姓名, Mode=TwoWay}" />
                        </toolkit:DataField>
                        <toolkit:DataField>
          <TextBox Text="{Binding 身份证, Mode=TwoWay}" />
                        </toolkit:DataField>

                    </StackPanel>
                </DataTemplate>
            </toolkit:DataForm.EditTemplate>
        </toolkit:DataForm>

 

 

转载于:https://www.cnblogs.com/Ken-Cai/archive/2012/12/17/2821484.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值