强制关注以保持异常验证规则

时间:2013-03-18 21:58:24

标签: c# wpf xaml binding validationrules

在WPF应用程序中,我在几个TextBox上使用ExceptionValidationRule绑定。 我希望能够继续使用具有ApplicationException whitout的控件,直到它具有正确的数据输入。有可能吗?

这是我的代码:

 public string strEvtType
    {
        get { return m_strEvtType; }
        set {
                m_strEvtType = value;
                if (m_objEvtCode.ReadEvtTypebyType(m_strEvtType) != 0)
                {
                    throw new ApplicationException("Error ! : " + m_strEvtType.Trim() + " don't exist");
                }
                FirePropertyChangedEvent("strEvtType");
                FirePropertyChangedEvent("m_objEvtCode.strDes");

            }

我的xaml:

<TextBox Name="TextBox_TypeEvenement" Grid.Column="1" VerticalAlignment="Center" Height="20" LostFocus="TextBox_TypeEvenement_LostFocus">
  <TextBox.Text>
    <Binding Path="strEvtType">
        <Binding.ValidationRules>
            <ExceptionValidationRule />
        </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>

我的模板

<Style TargetType="{x:Type TextBox}">
<Setter Property="Validation.ErrorTemplate">
    <Setter.Value>
        <ControlTemplate>
            <DockPanel  LastChildFill="False">
                <TextBlock DockPanel.Dock="Right"
                Foreground="red"
                FontSize="9pt"
                Text="{Binding ElementName=MyAdorner,Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
                </TextBlock>
                <Border BorderBrush="Red" BorderThickness="1">
                    <AdornedElementPlaceholder Name="MyAdorner" />
                </Border>
            </DockPanel>
        </ControlTemplate>
    </Setter.Value>
</Setter>

非常感谢:)

致以最诚挚的问候,

Nixeus

0 个答案:

没有答案