众所周知,Silverlight在Silverlight中缺少非常引人注目的x:Type MarkupExtension(MarkupExtension is not supported)。 它是否有任何动态解决方法?
枚举(x:Static
)怎么样?
我需要将CommandParameter设置为Type
或Enum
值,Silverlight中不支持这些值!
答案 0 :(得分:1)
这通常必须在代码隐藏中完成。即使您构建了一个公开类型为Type的属性的自定义对象,当通过XAML设置时,它也不会被正确地“转换”。
此额外限制使您无法创建自定义EnumValueProvider之类的东西,它会公开Type属性并使用指定枚举类型的枚举值更新Values属性。拥有这样的类将允许您将ComboBox或ListBox完全绑定到XAML中的枚举值列表。
您可以为上述Type属性创建custom TypeConverter,以解决此问题。但是你没有得到你期望的xmlns分辨率。但根据你的情况,这可能已经足够了。
这是another example,它通过属性公开“已知”类型,然后可以绑定到这些类型。