【问题标题】:Is there any way to instantiate a 'Type' in Silverlight XAML?有没有办法在 Silverlight XAML 中实例化“类型”?
【发布时间】:2011-08-03 02:49:40
【问题描述】:

众所周知,Silverlight 缺少非常引人注目的 x:Type MarkupExtension(Silverlight 中根本没有 MarkupExtension is not supported)。 是否有任何动态解决方法?

枚举 (x:Static) 呢?

我需要将 CommandParameter 设置为 TypeEnum 值,Silverlight 都不支持这些值!

【问题讨论】:

    标签: silverlight xaml silverlight-4.0 markup-extensions


    【解决方案1】:

    这通常必须在代码隐藏中完成。即使您构建了一个公开 Type 类型属性的自定义对象,当通过 XAML 设置时,它也不会得到正确的“转换”。

    这个额外的限制会阻止您创建自定义 EnumValueProvider 之类的东西,它会公开 Type 属性并使用来自指定枚举类型的枚举值更新 Values 属性。拥有这样的类将允许您将 ComboBox 或 ListBox 完全绑定到 XAML 中的枚举值列表。

    您可以为上述 Type 属性创建一个custom TypeConverter,以在一定程度上解决此问题。但是您没有得到您期望的 xmlns 分辨率。但根据您的情况,这可能就足够了。

    这里是another example,它通过属性公开“已知”类型,然后您可以绑定到这些类型。

    【讨论】:

    • @Shimmy - 你最好的选择可能是自定义 IValueConverter 并使用绑定,即使它是 OneTime。
    猜你喜欢
    • 1970-01-01
    • 2022-06-21
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多