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

如何管理庞大且几乎不可维护的XAML文件?

  •  7
  • Sander  · 技术社区  · 17 年前

    我在Silverlight中使用XAML文件时遇到了真正的困难,因为使用Blend时它们会变得非常大,速度非常快。在只添加了少量控件并设置了动画之后,它就变成了一堵文本墙。

    我希望一个更好的混合版本很快就会问世,这样我们的设计师就不用再看到XAML了。不过,就目前而言,这并不是一个解决方案——XAML仍然需要手动管理,这是一项令人沮丧的任务。

    有人找到解决办法了吗?如何使XAML文件保持有序?当它们变大时,你如何理解它们?

    编辑 :我对Silverlight解决方案特别感兴趣,因为Silverlight不支持最明显的WPF解决方案—将内容拆分为资源字典。

    3 回复  |  直到 17 年前
        1
  •  12
  •   Pop Catalin    17 年前

    维护XAML文件确实需要一些工作,但基本上,您需要做的是使用对您有意义的方案将它们拆分到资源文件(XAML资源字典)中。

    例如,我们使用一个方案,其中有如下文件夹结构:

    • 资源(包含表示用户控件和页面的XAML文件)

      • 模具(带有形状的XAML文件)
      • 刷子(…)
        • 共享
      • 模板(…)

    您的结构可能会有所不同,但从长远来看,将所有资源分离到不同的文件中确实会使维护更加容易。

        2
  •  8
  •   FireWire    17 年前

    自从一月份Silverlight2在私有版本中发布以来,我一直在使用它,我们遇到了这个问题,我们所有的XAML都在一个大文件中。作为最佳实践,我们将用户界面分解为基于视觉分类(页眉、页脚、导航控件等)的单独用户控件。最初,我们尝试使用嵌套画布(网格尚未添加到框架中),这后来变成了维护噩梦。

    在“混合”中,您可以实际选择画布/网格等。。。在“对象和时间轴”窗口中,右键单击它,您将获得“makecontrol..”选项,该选项用于快速重新分解和模块化我们的主XAML文件。然后,我们使用事件允许用户控件相互通信。

    希望这有帮助,祝你好运!

        3
  •  2
  •   Alan Le    17 年前

    我是一个有创意的开发者,在Blend工作。

    keeping XAML clean .

    another post .

    保罗·斯托维尔也有一些有趣的故事 guidelines for XAML .