什么是XAML绑定路径声明中的大括号的相关性

总而言之,问题很简单。 以下绑定不起作用,即ascociated Trigger不会触发

  

要修复此问题并使绑定工作,我们将绑定引用放在大括号中,如下所示

  

为什么添加大括号会解决引用/绑定问题以及发生了什么?

谢谢你的时间。

这是因为Binding无法确定要绑定到的完整Expression。 如果你把它放到括号中,可以正确地确定完整的表达式(带命名空间等)。

如果使用大括号编写(dataAccess:DataGridTextSearch.IsAnyTextMatch) ,标记解析器将把整个绑定作为ONE表达式。 否则它会试图绑定到dataAccess: . 使用大括号,您将明确声明这是一个单独的表达式

我希望你能得到我:)

多个属性(间接属性定位)

  

propertyName必须解析为当前DataContext的属性的名称。 路径属性propertyNamepropertyName2可以是关系中存在的任何属性,其中propertyName2是属性类型上存在的属性, propertyName2是propertyName的值。

单一财产,附加或其他类型合格

  

括号表示应使用部分限定条件构造PropertyPath中的此属性。 它可以使用XML命名空间来查找具有适当映射的类型。 ownerType通过每个程序XmlnsDefinitionAttribute声明搜索XAML处理器可以访问的类型。 大多数应用程序都具有映射到http://schemas.microsoft.com/winfx/2006/xaml/presentation命名空间的默认XML命名空间,因此前缀通常仅对于该命名空间之外的自定义类型或类型是必需的。 propertyName必须解析为ownerType上存在的属性的名称。 此语法通常用于以下情况之一:

  1. 路径在XAML中指定,该路径位于没有指定目标类型的样式或模板中。 合格用法通常对除此之外的其他情况无效,因为在非样式的非模板情况下,该属性存在于实例上,而不是类型。

  2. 该物业是附属物业。

  3. 您绑定到静态属性。

要用作storyboard目标,指定为propertyName的属性必须是DependencyProperty