看了很多例子,都是在主模块下写的代码,用时间DispatcherTimer 定时器写。要么就是在按钮事件里写代码。这样做,还谈什么mvvm。
先说下思路。wpf 我们开发已经百分百都是分层结构了。还想在按钮事件下撸代码。怎么可能!
倒计时:触发---倒计时--返回触发当时模块;
方法:
1.通过回调监听事件的动作
代码
xaml
<Button Content="dao ji shi" Margin="23" Width="200" Height="25" Command="{Binding ButCommand}"></Button>
<Label Content="{Binding DownText }" VerticalAlignment="Center"/>
.cs
ButCommand = new DelegateCommand(ButCom);
private void ButCom()
{
var worker = new IntDownWorker(60);
worker.ProgressChanged += Worker_ProgressChanged;
worker.Start();
}
private void Worker_ProgressChanged(int leftOverSeconds)
{
DownText = string.Format("还剩{0}", leftOverSeconds + "s");
}
IntDownWorker
有需要的话留言
以上皆是自己构思,如有各位大神有更好的请不要吝啬,丰富我们wpf 开源的代码。