Я пытаюсь сделать следующее, используя MVVM, Binding и AttachedProperty
- Создание ViewObj (производный класс System.Windows.Controls.Control)
- ViewObj имеет 1 AttachedProperty с именем "Order" (OrderProperty), объявленный в классе с именем View.
- Присоединенное свойство связано со свойством ViewModel в xaml
- Создать ViewModel
- Установить ViewModel как DataContext для ViewObj
До того, как ViewObj будет отображен / обработан / т. Д.
Получить заказ в коде, сделав var order = View.GetOrder(ViewObj)
Отображается ViewObj и отображается значение привязки ...
Если AttachedProperty является значением, а не выражением привязки, значение, возвращаемое View.GetOrder(ViewObj)
, является хорошим, а не значением по умолчанию.
Есть идеи?
EDIT:
Я принудительно оценил выражение привязки данных с помощью класса BindingExpression
. Я обнаружил, что BindingExpression.Status
был установлен на Unattached
, что, кажется, объясняет, почему он не работает.
Я думаю, что привязка прикреплена, когда элемент прикреплен к визуальному дереву.
Но ... это не сильно помогает мне в моей проблеме ...