Как определение XAML превращается в экземпляр объекта? - PullRequest
4 голосов
/ 22 сентября 2008

XAML позволяет указать значение атрибута, используя строку, содержащую фигурные скобки. Вот пример, который создает экземпляр Binding и присваивает его свойству Text элемента TextBox .

<TextBox Text="{Binding ElementName=Foo, Path=Bar}"/>

Я хочу расширить XAML, чтобы разработчик мог ввести его как действительный ...

<TextBox Text="{MyCustomObject Field1=Foo, Field2=Bar}"/>

Это создаст экземпляр моего класса и при необходимости установит свойства Field1 / Field2. Это возможно? Если да, то как ты это делаешь?

Если это возможно, у меня есть дополнительный вопрос. Могу я взять строку "{Binding ElementName = Foo, Path = Bar}" и попросить платформу обработать ее и вернуть указанный экземпляр Binding ? Это должно быть сделано где-то уже, чтобы заставить работать вышеупомянутый XAML, и поэтому должен быть способ запросить то же самое для обработки.

Ответы [ 2 ]

2 голосов
/ 22 сентября 2008

Класс Binding представляет собой расширение разметки . Вы можете написать свой собственный, получив от System.Windows.Markup.MarkupExtension.

ElementName и Path - это просто свойства объекта Binding.

Что касается продолжения, вы можете создать новый код Binding, создав экземпляр объекта Binding. Я не знаю, как обработать строку.

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