1

Silverlight には非常に魅力的なx:Type MarkupExtension がないことはよく知られています (MarkupExtensionは Silverlight ではまったくサポートされていません)。それに対する動的な回避策はありますか?

列挙型 ( x:Static) はどうですか?

CommandParameter をTypeまたはEnum値に設定する必要がありますが、これらはどちらも Silverlight ではサポートされていません!

4

1 に答える 1

1

これは通常、コード ビハインドで行う必要があります。Type 型のプロパティを公開するカスタム オブジェクトを作成しても、XAML 経由で設定すると正しく「変換」されません。

この追加の制限により、Type プロパティを公開し、指定された列挙型の列挙値で Values プロパティを更新するカスタム EnumValueProvider などを作成できなくなります。このようなクラスを使用すると、ComboBox または ListBox を列挙値のリストに完全に XAML でバインドできます。

上記の Type プロパティのカスタム TypeConverterを作成して、この問題をある程度回避できます。しかし、期待どおりの xmlns 解決が得られません。ただし、状況によっては、これで十分な場合があります。

これは、プロパティを介して「既知の」タイプを公開する別の例であり、その後バインドできます。

于 2011-04-11T15:14:57.783 に答える