Xaml中的转义字符

字符

转义字符

备注

& (ampersand)

&

这个没什么特别的,几乎所有的地方都需要使用转义字符

> (greater-than character)

>

在属性(Attribute values)中必须进行转义,在内容(Content)中 如果没有<在>符号的前面,可以不进行转义,直接使用>

< (less-than character)

&lt;

在属性(Attribute values)中必须进行转义,在内容(Content)中 如果没有>在<符号的后面,可以不进行转义,直接使用<

" (straight quotation mark)

&quot;

在属性(Attribute Values)中必须进行转义,在内容(Content)中可以直接使用,而不进行转义。需要注意的是如果属性使用'来定义属性,那么"可以直接使用如

Text='test"test"test',反之如果是用”来定义属性,那么'可以直接使用而不需要转义字符,如Text="test'test"

' (single straight quotation mark)

&apos;

同上

(numeric character mappings)

&#[integer]; or &#x[hex];

可以和字符集合映射,如&#100;(10进制)或者&#xff;(16进制)

回车:&#x000D;换行:&#x000A;Tab:&#x0009;空格:&#x0020;

(nonbreaking space)

&#160; (assuming UTF-8 encoding)

Flow Document的元素或者有Text属性的元素,输出不间断空格

{

{}{

当{}使用的时候,{可以直接使用(功能类似与string text=@"E:\test.txt";中的@)

{}的转义用法示例:
<StackPanel Name="stacky">
  <StackPanel.Resources>
    <DataTemplate DataType="{}{http://planetsNS}Planet" >
      <StackPanel Orientation="Horizontal">
        <TextBlock Width="100" Text="{Binding Path=Element[{http://planetsNS}DiameterKM].Value}" />
        <TextBlock Width="100" Text="{Binding Path=Attribute[Name].Value}" />
        <TextBlock Text="{Binding Path=Element[{http://planetsNS}Details].Value}" /> 
      </StackPanel>
    </DataTemplate>
  </StackPanel.Resources>

 

转载于:https://www.cnblogs.com/wpfworld/p/3430519.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常抱歉,你说的没错,我在之前的回答没有完全遵循你所说的要求。在不使用将控件转成 Xaml 字符串的情况下实现 WPF 用户控件的复制粘贴功能,可以采用以下方法: 1. 使用 DataObject 和 DataFormats.Xaml 当需要复制一个用户控件时,可以将该控件保存到 DataObject ,并设置 DataFormats.Xaml 格式。当你需要粘贴该用户控件时,可以从 DataObject 获取该控件,并将其插入到 UI 。 下面是示例代码: ```csharp // 复制控件 DataObject dataObject = new DataObject(); dataObject.SetData(DataFormats.Xaml, myControl); Clipboard.SetDataObject(dataObject); // 粘贴控件 if (Clipboard.ContainsData(DataFormats.Xaml)) { UIElement newControl = Clipboard.GetData(DataFormats.Xaml) as UIElement; myCanvas.Children.Add(newControl); } ``` 2. 使用 DragDrop 和 DataFormats.Xaml 当需要拖动一个用户控件时,可以将该控件保存到 DataObject ,并设置 DataFormats.Xaml 格式。当你需要在拖放操作释放该用户控件时,可以从 DataObject 获取该控件,并将其插入到 UI 。 下面是示例代码: ```csharp // 拖动控件 DataObject dataObject = new DataObject(); dataObject.SetData(DataFormats.Xaml, myControl); DragDrop.DoDragDrop(myControl, dataObject, DragDropEffects.Copy); // 放置控件 private void MyCanvas_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.Xaml)) { UIElement newControl = e.Data.GetData(DataFormats.Xaml) as UIElement; myCanvas.Children.Add(newControl); } } ``` 这两种方法都可以在不将 WPF 用户控件转换为 Xaml 字符串的情况下实现复制粘贴功能。非常感谢你的指正。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值