Существует несколько инструментов на список инструментов для статического анализа кода в Википедии, которая имеет поддержку JavaScript, можно также видеть JavaScript Отлаживать , если бы какой-либо из упомянутых инструментов помог бы. Существует также несколько хороших инструментов в YUI (Сеть разработчиков Yahoo!), а также много полезных компонентов.
я всегда использовал JSLint сам, и это - единственный аналитический инструмент для JS, который я попробовал. Я стал все более любящим JavaScript, но хорошие инструменты являются все еще проблемой.: (
Вместо того, чтобы делать какие-либо привязки, вы можете разместить AdornerDecorator
вокруг элементов внутри вашего расширителя. Видите ли, шаблон ошибки валидации размещается на слое украшения, таким образом, он отображается поверх всего остального. В конечном итоге в этом и заключается ваша проблема. Даже если ваше текстовое поле не отображается, потому что расширитель закрыт, шаблон ошибки все еще находится на слое украшения.
Я считаю, что вы можете исправить это с помощью следующего xaml:
<Expander Header="Blah Blah Blah">
<AdornerDecorator>
<TextBox Name="TextBox"
Validation.ErrorTemplate="{DynamicResource TextBoxErrorTemplate}"
Text="{Binding Path=Blah,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}" />
</AdornerDecorator>
</Expander>
Это создает слой украшения специально для внутри расширитель. Когда расширитель закрыт, AdornerDecorator
также скрывается, как и все на нем.
В общем, привязки отладки могут быть выполнены следующими способами:
В опубликованном вами коде, я полагаю, это будет из-за того, что свойство Value в Setter не является свойством зависимости и, следовательно, не может быть привязано к нему.
У меня будет подумай об этом и попробую придумать что-нибудь более полезное.
Ознакомьтесь с ответом Доннель на Как мне избавиться от красного прямоугольника, когда проверка привязки wpf завершилась неудачно и содержащая панель больше не отображается? . У меня с экспандером заработало.