我想将当前日期和时间绑定到文本框,我想在更改值时更新source属性。我使用MVVM代码结构,我希望在.xaml文件中完成此任务
答案 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
- '绑定'的属性。