【问题标题】:Generate .xaml and .xaml.cs with Template T4使用模板 T4 生成 .xaml 和 .xaml.cs
【发布时间】:2011-10-28 00:55:09
【问题描述】:

我是 T4 模板的新手,我想从 T4 生成 .xaml 文件并从 .xml 文件中获取一些信息。所以我的问题是:是否可以从 T4 生成 .xaml 文件和所有 MVVM 基础架构,是否可以从 T4 模板文件调用和生成不同的文件? 它是选择 T4 模板生成 wpf 屏幕的最佳方式吗?如果没有,我们如何快速生成通用屏幕?

【问题讨论】:

    标签: wpf templates code-generation t4


    【解决方案1】:

    我看到 5 个问题:

    1. 是否可以从 T4 生成 .xaml 文件和所有 MVVM 基础架构?
    2. 是否可以从 T4 模板文件中调用不同的文件?
    3. 是否可以从 T4 模板文件生成不同的文件?
    4. 选择 T4 模板生成 wpf 屏幕是不是最好的方法?
    5. 如果没有,我们如何才能快速生成通用屏幕?

    这是我的答案:

    1. 是的,实际上我相信 T4 非常适合生成 MVVM 通常需要的样板代码。
    2. 是的,如果您通过这个问题表示您希望拥有一个可以重复使用的模板库。您用于在 T4 中获得代码重用的机制是您引用的普通程序集或 指令(非常类似于 PHP 或 ASP 中的包含)
    3. 是的,但我建议你不要这样做。尝试这样做会使模板显着复杂化,您应该问自己为不同的生成类使用不同的文件有什么好处。在某些情况下,您可能需要拥有单独的文件(即 C# 和 XAML 必须位于不同的文件中),但我建议您使用两个具有不同 指令的模板文件。
    4. 这个问题我没看懂,能不能详细点?
    5. 听起来您可能对LightSwitch 感兴趣。您仍然可以使用 T4 生成屏幕所需的模型片段。

    最后,如果您正在寻找有关如何使用 T4 的良好资源,请访问 T4 上的Oleg Sych's blog太棒了

    【讨论】:

    • T4 Toolbox (t4toolbox.codeplex.com) 实际上很好地回答了 #3 并且答案完全相反 - 它旨在特别允许您生成多个工件。它(主要)由 Oleg Sych 编写。
    • @GalacticComboy - 当您希望每个模板有多个工件时,我当然可以看到一些情况,但恕我直言,例如,即使这是推荐的模式,我也看不到每个类生成一个工件的价值用于手写代码。恕我直言,生成和手写代码的良好模式并不总是重叠。
    • +1 表示 LightSwitch 建议。听起来它非常适合您的场景,值得评估。
    • 银河牛仔提到的 t4 工具箱 (github.com/olegsych/T4Toolbox) 的新位置
    猜你喜欢
    • 1970-01-01
    • 2013-10-03
    • 2011-10-16
    • 1970-01-01
    • 2017-06-06
    • 2014-06-13
    • 2017-01-29
    • 1970-01-01
    • 2011-05-31
    相关资源
    最近更新 更多