【问题标题】:How to bind to Class using Generics in XAML如何在 XAML 中使用泛型绑定到类
【发布时间】:2013-02-24 01:25:42
【问题描述】:

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

 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]}"

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

【问题讨论】:

    标签: vb.net xaml generics binding


    【解决方案1】:

    这里有两个问题。

    1. XAML 对泛型的支持是not complete;我认为您不能在 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 的解决方案。描述您想要解决的问题并在新问题中寻求解决方案可能是有意义的。

    【讨论】:

    • 非常感谢。这告诉我我需要知道什么。
    猜你喜欢
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多