Правила проверки контрола WPF при первой загрузке формы
16.08.2011 Оставить комментарий

Если вы создавали правила проверки значения (Validation Rules) при привязке в WPF, то наверняка сталкивались с тем, что при первом открытии формы проверка не производится. Особенно это хорошо видно на правилах проверках обязательности заполнения полей. В сети я встретил массу советов и решений, но все они требовали написания кода, что в случае WPF не всегда хорошо и приемлемо.
А решение оказалось банально простое: для проверяющего правила (validation rule) надо включить параметр ValidatesOnTargetUpdated:
<TextBox.Text>
<Binding Path="Description" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay">
<Binding.ValidationRules>
<local:ValueRequiredValidationRule ValidatesOnTargetUpdated="True" ValueRequired="True" />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
Да здравствуют форумы MSDN!
Часто пользователи, которые недавно работают с консолью SCSM, сталкиваются с проблемой при поиске: после ввода в строке поиска в представлении искомый элемент не находится, хотя он точно должен быть. Особенно часто это происходит со списком пользователей – мы можем выбрать пользователя в диалоге выбора, но в представлении найти его не можем.
Из консоли SCSM мы можем настраивать рабочие процессы, которые будут реагировать на изменение свойств объекта. Такие рабочие процессы могут быть использованы для рассылки уведомлений при смене статуса, при изменении описания и так далее. У этого подхода есть один недостаток – мы не можем подписываться на изменение type projection, т.е. когда один объект связывается с другим. Примером таких свойств могут служить поля “Назначено на”, “Затронутый пользователь” (и вообще все поля типа “Пользователь или Группа”), а также “Затронутые услуги”, “Затронутые элементы” и т.д. При этом SCSM имеет встроенные механизм реагирования на такие события. Также мы не можем настраивать сложные условия для рассылки. О том, как задействовать оба этих механизма и пойдет речь в этой статье.