将当前日期时间绑定到TextBox并在更新时更新源属性(WPF)

时间:2015-01-26 07:40:00

标签: wpf mvvm

我想将当前日期和时间绑定到文本框,我想在更改值时更新source属性。我使用MVVM代码结构,我希望在.xaml文件中完成此任务

2 个答案:

答案 0 :(得分:0)

来自WPF的用户observale属性实现同样的目的。

public class YourClass : INotifyPropertyChanged
{

  private string _mytime;
  public string MyTime
  {
      get { return _mytime; }
      set { _mytime= value; NotifyPropertyChanged("MyTime"); }
  }

  public event PropertyChangedEventHandler PropertyChanged;
  private void NotifyPropertyChanged(String propertyName)
  {
      PropertyChangedEventHandler handler = PropertyChanged;
      if (null != handler)
      {
          handler(this, new PropertyChangedEventArgs(propertyName));
      }
  }
}

现在您需要做的是在您的XAML文件中附加MyTime属性,每当您在类文件中更新MyTime时,您将在UI上看到更新的值。

<TextBlock Text={Binding MyTime}/>

答案 1 :(得分:0)

如果您拥有属性Binding,请添加Mode=TwoWay以确保已启用从UI到ViewModel的更新。

您可能需要添加Converter=...属性,其中包含IValueConverter的实现,可将DateTime转换为string,反之亦然。

如果您希望在每次按键后更新绑定,而不仅仅是失去焦点,则必须设置UpdateSourceTrigger - '绑定'的属性。