当前位置:  开发笔记 > 编程语言 > 正文

如何在WPF中创建模板窗口?

如何解决《如何在WPF中创建模板窗口?》经验,为你挑选了2个好方法。

所以我正在构建一个具有大量窗口的应用程序,所有窗口都具有相同的基本布局:

    主窗口

    顶角有一个标志

    标题栏

    底部的状态显示器

    窗口特定控件的区域.

目前,我必须在每个窗口中重新创建此结构.理想情况下,我希望将此布局编码在一个位置,也许可以放入自定义Window子类中以便于使用.有没有人有任何关于如何开始的线索,或以前遇到过类似问题的经历?



1> Ian Oakes..:

您可以创建一个新的ControlTemplate,以窗口为目标来完成此操作,如下所示.


    
        
            
                
                
                
            

            
                
                
            

            
            
            
            
            
        
    

    
        
            
                
                
            
            
        
    



2> Rhys..:

如果你有足够的勇气进行大规模的架构转变,你可以考虑来自微软的模式和实践人员的CompositeWPF(以前代号为Prism).

您感兴趣的是能够在shell(即窗口)中定义"区域",然后使用视图填充区域.它使用Model-View-Presenter模式允许从模型中独立开发"视图",而不是随着时间的推移可以轻松地重新定位,因为shell仅定义区域并且不直接耦合到放置在其中的内容.原则上这有助于将shell与视图和视图相互分离,并使单元测试变得更容易......等等,等等.

尽管您的情况是CompositeWPF要解决的应用程序类型之一,但这是一个很大的跳跃,会让您慢慢开始.

作为CompositeWPF的一部分,您需要采用可能使新手混淆的各种模式,例如UnityContainer,控制反转,MVP(或模型/视图/视图模型)和依赖注入.

我记得当我第一次开始使用示例应用程序时感到困惑,因为一些视图甚至在创建之前并不明显!统一容器将实例化对象并神奇地调用参数化构造函数.

CompositeWPF是您问题的优雅解决方案,但不是简单或直接的解决方案.在我的上一个项目中使用了CompositeWPF后,我打算再次将它用于下一个适当的应用程序.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有