有没有办法在 XAML 中获取属性名称?
我发现 XAML 中不支持名称。
像这样的东西:
<i:InvokeCommandAction
Command="{Binding
Source={StaticResource SomeViewModel},
Path=SomeICommandImplementation}"
CommandParameter={Binding
Source={StaticResource SomeViewModel},
Path=SomeProperty,
GetNameOf=True}" />
有没有办法在 XAML 中获取属性的字符串名称。
不,没有。XAML 是一种标记语言,它没有定义nameof
运算符。
您可以做的是尝试实现自己的自定义InvokeCommandAction
。
创建一个派生自 System.Windows.Interactivity.TriggerAction<DependencyObject>
的类,向其添加 InvokeCommandAction
的属性(它是sealed
的,因此您无法从中派生(和另一个 GetNameOf
属性,然后重写 Invoke
方法以使用 nameof
运算符。