编码xaml时,我们拥有精彩的资源词典,样式,用户控件和模板化控件,使xaml可扩展且易于重用。
但是如果将多个地方的xaml代码包含在一起呢?
让我给一个考试。
我想在我的所有xaml页面上使用网格定义。
<!--Row definitions-->
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
就像现在一样,我只是在我的所有xaml页面上复制粘贴这个定义。可以想象,即使对网格定义进行最简单的更改也会成为一场噩梦。除了DRY代码之外别无其他。
那么,有更聪明的选择吗?就像在单独的xaml文件中定义块一样,然后编写类似
的内容<includes:GridDefinitions>
在PHP中,您可以获得Twig和Blade之类的模板工具,您可以在其中编写主模板,然后对其进行扩展(以下示例来自twig)
base.html.twig
{% block content %}
{% endblock %}
page.html.twig *
{% extends "base.html" %}
{% block content %}
Content of the page...
{% endblock %}
他们甚至有一个include语句,它只是获取一个html文件的所有内容,并将其包含在你放置标记的任何地方
{{ include('page.html') }}
所以问题是
xaml是否有某种模板引擎或包含我还不知道的功能?或者有没有办法使用资源词典等来实现类似的DRY代码效果?
如果我要查找的内容不清楚,请随时发表评论并要求提供更多信息。
答案 0 :(得分:1)
根据我的经验,您的问题没有直接的答案,但您可以考虑以下选项: