4
/// <summary>
/// 
/// </summary>
/// <remarks
/// 
/// </remarks>

如何在上述注释中添加 xaml 代码,避免代码解析器创建不存在的链接(CTRL + 单击消息)?

4

3 回答 3

6

在 XAML 视图中,放置一些您想要用作注释的 XAML

然后用

<!-- #region XAML Snippet -->
<StackPanel>
  <Button Content="Click me, I do nothing!" />
</StackPanel>
<!-- #endregion -->

注意:我把它放在 MainWindow.xaml 文件中,但它可以是任何 XAML 文件。

现在在 C# 中,将其用作注释:

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
/// <example>
/// <code source="MyProject.Namespace/MainWindow.xaml" region="XAML snippet" lang="XAML" title="A linked *.xaml file treated as XAML"/>
/// </example>

SandCastle 理解这种语法,并会生成适当的文档(如在 MSDN 中),但是这不会出现在智能感知上。

您可以使用和代替符号来格式化常规<summary>正文以模仿 XAML 语法,但这会很痛苦。&gt;&lt;< >

于 2012-09-21T13:05:12.700 回答
6

你有两个选择:

  1. 标准 XML 转义

    /// &lt;TextBlock Text=&quot;Hello World!&quot;/&gt;

  2. CDATA 部分

    /// <![CDATA[<TextBlock Text="Hello World!"/>]]>

使用第一个选项,Visual Studio Intellisense 将正确显示未转义的 XML 序列。

于 2012-09-21T13:23:32.997 回答
2

使用 CDATA 标签?

/// <summary>
/// <![CDATA[<StackPanel />]]>
/// </summary>

注意:这不会出现在 Intellisense 中,因此如果这是要求,则此方法不适用于您的场景。

但是,为什么要将 XAML 添加到代码文件中?

于 2012-09-21T13:02:47.263 回答