Создать свойство зависимости без наследования от DependencyObject - PullRequest
1 голос
/ 22 декабря 2010

Я добавил базовое авто-свойство в класс и хочу, чтобы это свойство устанавливалось при каждом изменении SelectedItem древовидной структуры. Поэтому я добавляю это к Resources где-то в моем XAML:

<myns:MyClass x:Key="MyClassResource" MyProperty="{Binding ElementName=treeView, Path=SelectedItem, Mode=OneWay}" />

но когда я пытаюсь запустить это, я получаю исключение: «Привязка может быть установлена ​​только для свойства зависимости». Теперь свойства зависимостей требуют наследования от DependencyObject, но MyClass уже наследует класс! Мне не нужны все средства двусторонней привязки, все, что я хочу, это чтобы при каждом изменении SelectedItem значение копировалось в MyProperty.

Как я могу сделать это простым способом?

1 Ответ

1 голос
/ 22 декабря 2010

Вы можете сделать MyProperty обычным свойством CLR, определить свою привязку в SelectedItemproperty вашего treeView, установив режим привязки в OneWayToSource, это заставит его «проталкивать» изменения в ваше свойство MyProperty в вашем классе.

...