如何在C#注释中添加XAML代码?

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

如何在上面的评论中添加XAML代码,避免代码解析器创建不存在的链接(Ctrl +单击消息)?
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一样),但这不会在智能感知中显示。你可以使用标签并用>和<代替<和>符号以模拟XAML语法的格式,但这将是一件痛苦的事情。

6
你有两个选择:
  1. 标准的XML转义

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

  2. CDATA区块

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

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

2

使用 CDATA 标签?

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

注意:这不会出现在Intellisense中,所以如果这是一个要求,那么这种方法对您的情况不起作用。
但是,为什么您想要将XAML添加到代码文件中呢?

2
我正在用C#创建一个行为,因此我想解释一下如何在XAML代码中使用这个行为。 - Goran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接