2012-02-18 3 views
1

Я создаю приложение WPF, и у меня есть некоторые DependencyProperties в кодовом коде моего окна (на самом деле большая их группа). Я хочу привязать текстовое поле к одному из этих строковых значений. Если я использую {Binding ObjectName}, он просто не работает, и он жалуется на то, что не обнаружил свойство на выходе. Если я использую {Binding ObjectName, ElementName=window} (где window - имя экземпляра моего окна), он работает. Но у меня много привязок, и я не хочу каждый раз использовать свойство ElementName. Есть ли ярлык, который будет по умолчанию всеми именами элементов для оконных объектов, так как все мои привязки имеют один и тот же элемент?Как избавиться от использования ElementName в привязках WPF в XAML

Thanks, Can.

ответ

1

Источник связи по умолчанию - FrameworkElement.DataContext, поэтому вам необходимо установить свойство DataContext вашего окна на экземпляр вашего окна, например. DataContext = this;

+0

Я попытался установить DataContext окна в DataContext = {{RelativeSource Self} ", но это не сработало. Когда я попытался удалить ElementName, он вернулся к значению по умолчанию, нарушив привязку. –

+0

ой, мой плохой. Я изменил его на DataContext = {{Binding RelativeSource = {RelativeSource Self}} ", теперь он работает. Спасибо. –

Смежные вопросы