English 中文(简体)
WPF绑定到不变的属性
原标题:
  • 时间:2009-02-12 16:24:23
  •  标签:

我正在使用MVVM模式,并且我的模型中有一个POCO,带有开始日期属性。

我想在WPF窗口/用户控件的控件中显示自开始日期以来的经过时间。

我不知道如何将ModelView属性绑定到UI控件并自动更新持续时间...有人能提供一个方法吗?

我可以使用某些东西(计时器或线程)来更新我的 ModelView 上的 duration 属性,但我只是没有看到其他的方法,因为据我所知,当属性值改变时,UI 才会更新。 然而,我的 POCO 上的开始日期并没有改变,只有经过的时间在改变,这是一个计算出来的值。

我是否遗漏了些什么?

最佳回答

你正在走正确的道路。请访问 Martin Fowler 的网站,查看演示模型的模式。

基本想法是构建一个UI模型(ViewModel),并使UI与其同步。 要在UI中显示的每一位信息都应该在ViewModel中有一个相应的字段或属性(尽管它们可以从Model中的价值被检索或派生)... ViewModel使得存储视图状态/会话状态变得容易(例如用户列表中当前选择的项目),而这在Model类后面不存在。

Since you want to show the elapsed time since value in the UI, your ViewModel should have a property caled ElapsedTimeSince. Your WPF View has a control which is data-bound to this property. Now as per your need, ensure you have a thread/timer event that re-evaluates the property value periodically using the current time and the Model s StartDate property. Your UI should reflect the updated value.

问题回答

暂无回答




相关问题
热门标签