Есть ли способ создать экземпляр Type в Silverlight XAML? - PullRequest
1 голос
/ 11 апреля 2011

Хорошо известно, что в Silverlight отсутствует очень убедительный x: тип MarkupExtension (MarkupExtension вообще не поддерживается в Silverlight). Есть ли какой-нибудь динамический обход?

А как насчет перечислений (x:Static)?

Мне нужно, чтобы для CommandParameter было установлено значение Type или Enum, ни один из них не поддерживается в Silverlight!

1 Ответ

1 голос
/ 11 апреля 2011

Как правило, это должно быть сделано в коде позади.Даже если вы создаете пользовательский объект, который предоставляет свойство типа Type, он не будет должным образом «преобразован» при установке через XAML.

Это дополнительное ограничение не позволяет создавать такие вещи, как пользовательский EnumValueProvider, который предоставляетВведите свойство и обновите свойства значений со значениями перечисления из указанного типа перечисления.Наличие такого класса позволит вам связать ComboBox или ListBox со списком значений перечисления полностью в XAML.

Вы можете создать пользовательский TypeConverter для указанного выше свойства Type, чтобы несколькообойти эту проблему.Но вы не получите разрешение xmlns, которое вы ожидаете.Но в зависимости от вашей ситуации это может быть достаточно.

Вот другой пример , который раскрывает «известные» типы через свойства, которые затем можно связать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...