如何从第二个窗口访问一个窗口内容

时间:2011-11-01 12:49:39

标签: c# wpf mvvm .net-4.0 timer

我需要制作一个有两个窗口的应用程序:

窗口1 包含6个倒计时器。

窗口2 这里将设置各个定时器的设置。

这项功能的最佳解决方案是什么?我将使用c#wpf和.Net 4.0

1 个答案:

答案 0 :(得分:3)

<强> MVVM

1。 CountDownView   表示单个计时器View,绑定到CurrentValue属性的简单TextBlock或更好/复杂的东西而不是TextBlock

2。 CountDownViewModel   表示单个计时器本身,在View上显示显示为倒计时编号的属性int CurrentValue。要实现倒计时,您可以使用Sytem.Timers.Timer并在Elapsed event处理程序中减少CurrentValue属性值

3. TimersView - 第一个带有6个定时器的窗口

  • ItemsCountrol / ListView,
  • ItemTemplate - CountDownView
  • ItemsSource - 绑定到Timers TimersViewModel属性,基本上TimersViewModel应该设置为TimersView的DataContext,这样你就可以指定以下绑定:(并且每个项目都是绑定到单个计时器)

    <ListView ItemsSource="{Binding Timers}" ... />

4. TimersViewModel - 公开IEnumerable<CountDownViewModel> Timers属性

5. 设置视图 - 设置面板

PS:对于所有暴露给视图的VM属性的INotifyPropertyChanged

为您完成作业

  1. 了解MVVM原则,WPF绑定和命令,这将对您的所有职业生涯有所帮助
  2. 自己实现TimersViewModel和SettingsViewModel之间的关系