1

众所周知,Silverlight 缺乏非常引人注目的x:Type MarkupExtension( Silverlight根本不支持MarkupExtension )。是否有任何动态解决方法?

那么枚举(x:Static)呢?

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

4

1 回答 1

1

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

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

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

这是另一个示例,它通过属性公开“已知”类型,然后您可以绑定到这些类型。

于 2011-04-11T15:14:57.783 回答