Wpf QuickConverter XAML-无法标记表达式

Wpf QuickConverter XAML-无法标记表达式,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,我有一个扩展器,它的可见性由集合视图源中的项目决定。当XAML编译并工作时,我最后给出如下警告消息,非常感谢在理解如何消除错误方面提供的任何帮助 将表达式“$p.View.Count>0”标记化失败?Visibility.Visible:Visibility.Collapsed“。您忘记了一个“$”吗?” 我相信,只有在显式注册了包含该类型的命名空间和/或程序集后,才能引用QuickConverter语法中的类型: QuickConverter.EquationTokenizer

我有一个
扩展器
,它的可见性由
集合视图源中的项目决定。当XAML编译并工作时,我最后给出如下警告消息,非常感谢在理解如何消除错误方面提供的任何帮助

将表达式“$p.View.Count>0”标记化失败?Visibility.Visible:Visibility.Collapsed“。您忘记了一个“$”吗?”


我相信,只有在显式注册了包含该类型的命名空间和/或程序集后,才能引用QuickConverter语法中的类型:

QuickConverter.EquationTokenizer
              .AddNamespace(typeof(System.Windows.Visibility));
另外,QuickConverter似乎不会为标记化等式中引用的属性连接属性更改侦听器,因此您需要直接传入observable属性

Visibility="{qc:Binding '$P ? Visibility.Collapsed : Visibility.Visible',
                        P={Binding ItemsView.View.IsEmpty}}"

请注意,我测试了
IsEmpty
而不是
Count
,因为
ICollectionView
上不存在
Count
。测试
Count
会在运行时起作用,但属性会在Xaml编辑器中被标记为未解析。

什么库是
qc:Binding
的来源?这绝对不是标准的WPF绑定语法。查看该语法,您可能需要将
编码为
,这样它就不会与标记扩展混淆。@BradleyUffner qc-QuickConverter我已经求助于定义一个转换器(integertoviability)来避免XAML编辑器中显示的错误
Visibility="{qc:Binding '$P ? Visibility.Collapsed : Visibility.Visible',
                        P={Binding ItemsView.View.IsEmpty}}"