Как определение XAML превращается в экземпляр объекта?

StackOverflow https://stackoverflow.com/questions/114154

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

Это было полезно?

Другие советы

Тот Самый Binding класс - это Расширение разметки.Вы можете написать свой собственный, исходя из System.Windows.Markup.MarkupExtension.

ElementName и Path являются просто свойствами на Binding объект.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top