Прикрепленные свойства Очистка локального значения, но xaml не обновляется - PullRequest
0 голосов
/ 22 сентября 2011

Я получил класс StackPanel в классе OrderableStack.

Моя цель - разрешить дочернему элементу стека установить для присоединенного свойства Named 'First' значение true, чтобы этот дочерний элемент стал первым элементом в стеке.

Когда для присоединенного свойства установлено значениеЗначение true, процедура PropertyChangedCallback, определенная в метаданных, вызывается, и она сначала удаляет дочерний элемент из стека, а затем вставляет его в позицию 0. Наконец, для всех остальных дочерних элементов их присоединенное свойство 'First' установлено на False.

Это работает, но:

- если присоединенное свойство уже определено в xaml, когда я отображаю его в VS 2010, VS 2010 указывает, что «ссылка не установлена ​​...»

-i я могу проверить, что у каждого другого потомка, кроме того, который определен как 'first', свой OrderableStack.First имеет значение false в окне свойств, но xaml не обновляется.У многих детей прикрепленное свойство OrderableStack.First может быть установлено в значение true (в XAML), даже если на самом деле только последнее установленное дочернее значение имеет значение True.

Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 22 сентября 2011

если прикрепленное свойство уже определено в xaml при его отображении в VS 2010, VS 2010 указывает, что «ссылка не установлена ​​...»

Это мешает вам создавать и запускать ваше приложение? Чтобы избежать этой «конструкторской» ошибки, нужно провести некоторые проверки обнуляемости вокруг кода PropertyChangedCallback присоединенного свойства.

я могу проверить, что каждый другой ребенок, кроме того, который определен как «первый» , имеет свой OrderableStack.First установлен в false в окне свойств, но xaml не обновляется .

Я не получил этот последний бит. Ожидаете ли вы, что ваш XAML-дизайнер "смоделирует" порядок в режиме конструктора? Тогда лучшим кандидатом на проектирование является XAML Pad или Expression Blend. Дизайнеры Visual Studio, к сожалению, не самые лучшие. Они также не "имитируют" анимацию / триггеры.

Надеюсь, это поможет.

...