我需要制作一个有两个窗口的应用程序:
窗口 1
包含 6 个倒数计时器。
窗口 2
此处将设置各个计时器的设置。
此功能的最佳解决方案是什么?我将使用 c# wpf 和 .Net 4.0
最佳答案
MVVM
1. 倒计时 View
表示单个计时器 View ,简单的 TextBlock 绑定(bind)到 CurrentValue
属性或更漂亮/复杂的东西,而不是 TextBlock
2. 倒计时 View 模型
表示单个计时器本身,公开属性 int CurrentValue
在 View 上显示为倒计时数字。要实现倒计时,您可以使用 Sytem.Timers.Timer在 Elapsed event处理程序只是减少 CurrentValue 属性值
3. TimersView - 用于具有 6 个计时器的第一个窗口
Timers
TimersViewModel
的属性(property),基本上 TimersViewModel 应该设置为 TimersView 的 DataContext 以便您可以指定以下绑定(bind):(并且每个项目都将绑定(bind)到单个 Timer)<ListView ItemsSource="{Binding Timers}" ... />
4. TimersViewModel - 公开
IEnumerable<CountDownViewModel> Timers
属性(property)5. SettingsView - 设置面板
PS:INotifyPropertyChanged 用于暴露给 View 的所有 VM 属性
你的功课 :
关于c# - 如何从第二个窗口访问一个窗口内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966715/