使用可绑定的基本WPF从源更新目标

时间:2017-07-03 06:05:25

标签: wpf mvvm inotifypropertychanged bindable

这是viewmodel

中的可绑定属性
    private string _tooltip;
    public string Tooltip
    {
        get { return _tooltip; }
        set
        {
            _tooltip = value;
            SetProperty(ref _tooltip, value);
        }
    }

XAML

<TextBox HorizontalAlignment="Stretch"
                             Margin="2"
                             Text="{Binding  Path=Tooltip, Mode=TwoWay}"
                             MinWidth="40"
                             Height="24" />

在viewmodel中更改此工具提示时,视图不会更新。如何将视图从源更新到目标?

1 个答案:

答案 0 :(得分:1)

来自BindableBase.SetProperty的在线文档:

  

检查属性是否已匹配所需的值。设置属性并仅在必要时通知侦听器。

所以你不能在SetProperty之前调用_tooltip = value,因为如果这样做,SetProperty将不会触发PropertyChanged事件:

private string _tooltip;
public string Tooltip
{
    get { return _tooltip; }
    set { SetProperty(ref _tooltip, value); }
}