在WPF中更改文本时对TextBox强制执行验证

时间:2014-08-28 19:15:14

标签: c# wpf validation xaml mvvm

我在TextBox上使用Validation,如下所示

<TextBox BorderThickness="1" Style="{DynamicResource TextBoxInError}"
Validation.ErrorTemplate="{StaticResource ValidationTemplate}">
     <TextBox.Text>
         <Binding Path="TimeBeforeDeletingPicture" Mode="TwoWay">
              <Binding.ValidationRules>
                   <helpers:TimeBeforeDeletingRule/>
              </Binding.ValidationRules>
         </Binding>
     </TextBox.Text>
</TextBox>

当我离开TextBox时显然会激活(显然当它失去焦点时),我想在每次文本更改时验证输入,我正在使用MVVM所以我不想搞乱事件什么是实现这一目标的正确清洁方式。

1 个答案:

答案 0 :(得分:2)

按如下方式设置UpdateSourcetrigger

 <TextBox.Text>
            <Binding Path="TimeBeforeDeletingPicture" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"/>