代码之家  ›  专栏  ›  技术社区  ›  scubabbl

WPF棱镜多显示器应用探索指导

  •  0
  • scubabbl  · 技术社区  · 16 年前

    我正处于使用棱镜设计应用程序的初始阶段,有一个问题。在我所能找到的所有参考资料中,有很多关于创建单屏幕应用程序的细节,但我还有一个要求。

    我希望有两个窗口显示(多屏幕),两个窗口的布局完全相同,但每个窗口的数据信息来源不同。换句话说,我有非常频繁更新的数据源A和数据源B,我需要同时监视它们。

    有没有一种方法可以以这种方式启动Prism应用程序多屏幕,还是最好为每个源启动单独的进程?

    谢谢。

    1 回复  |  直到 9 年前
        1
  •  2
  •   Anderson Imes    16 年前

    这应该很简单。为每个人启动一个新窗口应该做你需要做的(用户将不得不将窗口移动到第二个监视器…我想您可以研究一些p/invoke魔法,以便在需要时将窗口移动到适当的监视器上)。

    你需要更复杂的东西吗?

    如果同一个视图包含不同的数据,我将使用mvvvm并将它们按如下方式分离:

    MyFirstViewModel vm1 = new MyFirstViewModel();
    MySecondViewModel vm2 = new MySecondViewModel();
    
    MyView view1 = new MyView();
    view1.DataContext = vm1;
    
    MyView view2 = new MyView(vm2);
    view2.DataContext = vm2;
    
    view1.Show();
    view2.Show();
    

    希望您的视图模型也可以重用,这样您就不需要为每个视图模型编写一个类,但希望这可以稍微说明一下策略。