2013-06-17 2 views
0

Короткий вопрос:WPF - доступ родительских свойств из триггера части ControlTemplate внутреннего элемента управления

В случае, если у вас есть контроль, состоящий из нескольких частей (например, DatePicker, который состоит из PART_Root, PART_Button, PART_Textbox и т.д ...) , как вы можете связать триггер шаблона управления внутренней частью с действительностью всего элемента управления?

Длинный вопрос:

Я пытаюсь настроить шаблон управления DatePicker, и он состоит из нескольких основных частей, самое главное:

  • PART_Root
  • PART_Button
  • PART_TextBox

I я переопределяю шаблон PART_TextBox, настроив DatePickerTextBox на стиль, который по сути заменяет только содержимое PART_TextBox DatePicker.

Теперь я хочу реализовать некоторые специальные пользовательские элементы проверки в шаблоне управления PART_Textbox, но я не могу заставить их показывать. Я попытался с помощью

<DataTrigger Binding="{Binding Path=Validation.HasError, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}}"> 

, но по какой-то причине он не работает ...

+0

Забавная вещь, привязка отлично работает при установке непосредственно на свойство Видимости элементов, которые отображаются верхней функцией DateTrigger: S –

ответ

0

Пожалуйста, убедитесь, что объект, который вы связывании реализует интерфейс INotifyDataErrorInfo. Пример для реализации см. here