1

我创建了一个像这样的简单类...

 Public Class Localizer(Of T)

        Public Shared ReadOnly Property DisplayName(ByVal propertyName As String) As String
            Get
               ...
            End Get
        End Property

    End Class

我正在尝试在 XAML 中绑定它,就像这样......

Header="{x:Static loc:Localizer(Of AircraftReference).DisplayName [IsMilitary]}"

但这一定不是正确的语法。这甚至可能是不可能的。

4

1 回答 1

1

这里有两个问题。

  1. XAML 对泛型的支持不完整;我认为您不能在 XAML 中指定类型参数。

    但是,对于这个问题有一个简单的解决方法:

    Public Class Localizer(Of T)
        Public Shared ReadOnly Property DisplayName As String
            Get
               ...
            End Get
        End Property
    End Class
    
    Public Class AircraftReferenceLocalizer
        Inherits Localizer(Of AircraftReference)
    End Class
    

    现在您可以使用:

    Header="{x:Static loc:AircraftReferenceLocalizer.DisplayName}"
    
  2. x:Static不支持参数化属性,因此您不能传递字符串“IsMilitary”。恐怕您将不得不在没有x:Static. 描述您想要解决的问题并在新问题中寻求解决方案可能是有意义的。

于 2013-03-08T13:45:28.667 回答