【发布时间】:2012-10-15 19:10:01
【问题描述】:
我是第一次做一个 WP7 应用程序,我正在尝试使用 MVVM 模式。 我正在制作一个闹钟,这就是我所拥有的:
视图 - MainView.xaml
...
<TextBox Text="{Binding Hour, Mode=TwoWay}"></TextBox>
...
模型 - AlarmClock.cs:
...
private string _second = 22;
public string Second {
get { return _second; }
set {
_second = value;
OnPropertyChanged("Second");
}
}
...
ViewModel - MainViewModel.cs
...
private AlarmClock alarmClock;
public MainViewModel() {
alarmClock = new AlarmClock();
}
public string Second {
get { return alarmClock.Second; }
set {
alarmClock.Second = value;
OnPropertyChanged("Second");
}
}
在 MainView.xaml.cs 中,我将数据上下文设置为 this.DataContext = new ViewModel();
ViewModel 和 Model 都实现了 INotifyPropertyChanged 接口。
我的问题是:在模型中,我有一个每秒滴答的 DispatcherTimer。当我这样做时:
秒 = 23;
我的视图(我的文本框)没有更新,也没有显示 _second 的值。但是如果我在文本框中写了一些东西,那么我的模型似乎是用输入的值更新的。
谁能看出我做错了什么?
提前谢谢你, 彼得
【问题讨论】:
标签: windows-phone-7 mvvm