从属性路径获取XAML中的属性字符串名称

时间:2017-06-17 17:33:15

标签: wpf xaml

有没有办法在XAML中获取属性的字符串名称。我在https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/7109177-add-nameof-into-xaml找到了XAML中不支持nameof。

像这样服务的东西:

<i:InvokeCommandAction 
Command="{Binding
    Source={StaticResource SomeViewModel},
    Path=SomeICommanImplementation}" 
CommandParameter={Binding 
    Source={StaticResource SomeViewModel},
    Path=SomeProperty, 
    GetNameOf=True}" />

1 个答案:

答案 0 :(得分:2)

  

是否可以在XAML中获取属性的字符串名称。

不,没有。 XAML是一种标记语言,没有定义nameof运算符。

您可以做的是尝试实施自己的自定义InvokeCommandAction

创建一个派生自System.Windows.Interactivity.TriggerAction<DependencyObject>的类,添加InvokeCommandAction的属性(它是sealed,因此您无法从中派生)和另一个GetNameOf属性然后覆盖Invoke方法以使用nameof运算符。