什么';WPF绑定中使用单引号的目的是什么?

什么';WPF绑定中使用单引号的目的是什么?,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,与之类似,我很好奇如何解释WPF中的表达式{Binding'}。 请注意,绑定后有两个撇号 除了上面链接的问题中提供的谷歌搜索之外,我还看了一下,但无法在绑定后断言这两个撇号的含义 我遇到的是字符串格式的表达式,在双引号中使用撇号表示另一个字符串表达式。但对于这个问题,我怀疑这里的情况是否如此 这个表达式是什么意思?它相当于一个空路径。撇号只是把你在它们之间写的东西括起来。因此,在您的例子中,它是一个到数据源的绑定(没有路径)——尽管我不得不说,我从未见过它以这种方式使用 您可能在任何与绑定相关

与之类似,我很好奇如何解释WPF中的表达式
{Binding'}

请注意,绑定后有两个撇号

除了上面链接的问题中提供的谷歌搜索之外,我还看了一下,但无法在绑定后断言这两个撇号的含义

我遇到的是字符串格式的表达式,在双引号中使用撇号表示另一个字符串表达式。但对于这个问题,我怀疑这里的情况是否如此


这个表达式是什么意思?

它相当于一个空路径。撇号只是把你在它们之间写的东西括起来。因此,在您的例子中,它是一个到数据源的绑定(没有路径)——尽管我不得不说,我从未见过它以这种方式使用

您可能在任何与绑定相关的上下文中都找不到这一点,因为它实际上是所有XAML标记扩展(如
绑定
静态
静态资源
等)都可以使用的特性

MEMBERNAME或STRING的文本值如下所示。使用前导空格字符,而不在生成的标记中表示如果第一个非空白字符是引号(Unicode代码点0022,引号或0027,撇号),标记器按如下方式进行操作:

第一个引号已使用,且未在令牌的值中表示

文本值变为不超过但不包括下一个匹配引号的字符(即与开头引号具有相同代码点的字符),该字符前面没有“\”字符。所有这些字符以及结束引号都将被使用。将删除结果文本值中的所有“\”字符

结束引号后面的空白字符将被使用,并且不会在标记中表示

以这个简单(但相当无用)的扩展为例:

public类StringExtension:MarkupExtension
{
公共字符串扩展()
{ }
公共字符串扩展名(字符串值)
{
价值=价值;
}
公共字符串值{get;set;}
公共覆盖对象ProviderValue(IServiceProvider服务提供程序)
{
返回值;
}
}
扩展可以这样使用(所有相同的结果):


那么,
是用来做什么的呢?例如,前导空格和尾随空格的

<!-- no whitespaces -->
<TextBlock Text="{local:String      text    }"/>

<!-- whitespaces -->
<TextBlock Text="{local:String '    text    '}"/>

它相当于一条空路径。撇号只是把你在它们之间写的东西括起来。因此,在您的例子中,它是一个到数据源的绑定(没有路径)——尽管我不得不说,我从未见过它以这种方式使用。