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