Короткий вопрос
Есть ли быстрый способ узнать, с чем связано конкретное присоединенное свойство, во время выполнения?
Деталь
Я отлаживаю UserControl (наследующий ItemsControl
), который связывает Canvas.Left
и Canvas.Top
своих элементов с двумя свойствами объектов ViewModel через стиль. Во время выполнения я помещаю точку останова в определенное место и хочу проверить привязку Canvas.Left
присоединенного свойства.
Обратите внимание, что я не хочу видеть текущее значение присоединенного свойства для элемента. Я легко могу это сделать, проверив значение Canvas.GetLeft(myItem)
в окнах QuickWatch или Immediate. Я хочу проверить здесь фактическую привязку, то есть имя свойства виртуальной машины, к которому привязано это свойство для myItem
.
Я уже пробовал Snoop, который, к сожалению, не показывает привязки прикрепленных свойств (если я не пропустил что-то очевидное).
Output
окно покажет вам любые ошибки привязки. Отсутствие ошибок может означать, что привязка (если она действительно есть) была успешной. Присоединенное свойство имеет обратный вызов при изменении значения, вы можете использовать его для отладки привязки присоединенного свойства. - person Sinatr   schedule 06.08.2015Canvas.Top="0"
, вы его получите, если вы не напишете, тогда оно, очевидно, будет иметь значение по умолчанию), вы можете переопределить свойство, см. здесь, затем установите обратный вызов и посмотреть, что было установлено для данного элемента (sender
будетDependencyProperty
, для которого вы установили значение присоединенного свойства). - person Sinatr   schedule 06.08.2015