更新数据库而不用"保存"按键

时间:2015-02-24 14:25:35

标签: .net wpf mvvm

我正在尝试使用WPF模式创建MVVM窗口。 现在我有一个问题,就是在没有使用“保存”按钮的情况下,直接在更改值并通知ViewModel之后,查看在视图中更改的更新值到数据库。

在视图中控制

<ItemsControl>
    <Label Content="Order Date"/>
    <DatePicker SelectedDate="{Binding CreatedAt, Mode=TwoWay}"/>
</ItemsControl>

视图模型

Public Class ViewModelOrder
    Implements INotifyPropertyChanged

    Private _Order As ModelOrder

    '...
    Private _CreatedAt As DateTime
    Public Property CreatedAt As DateTime
    Get
        Return _CreatedAt
    End Get
    Set(value As DateTime)
        _CreatedAt = value
        Me.RaisePropertyChanged(Function() Me.CreatedAt)
    End Set
    '...
    Public Sub New(inOrder as ModelOrder)
        _Order = inOrder
        _CreatedAt = _Order.CreatedAt
    End Sub
    '...
End Class

绑定工作正常,属性CreatedAt在视图中更改了值后更新。

我不想在View“Code behind”中使用Event处理程序,因为,据我了解MVVM模式,ViewModel实例不需要了解View。

1 个答案:

答案 0 :(得分:1)

如果值没有改变,就什么也不做 我做C#所以VB可能不正确

Set(value As DateTime)
    If _CreatedAt <> value Then
        _CreatedAt = value
        ' update database
        Me.RaisePropertyChanged(Function() Me.CreatedAt)
    End If
End Set