码迷,mamicode.com
首页 > 其他好文 > 详细

【WPF】ExceptionValidationRule不能出现在Validation.Errors Collection

时间:2014-05-26 01:05:38      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   c   code   java   

问题:我抛出ApplicationException如果FirstName值是null或空,我试图显示错误消息的TextBlock ErrorTemplate的一部分。但它总是显示“异常被抛出在调用的目标”。

 

代码如下:

bubuko.com,布布扣
ublic string FirstName
        {
            get { return _firstName;}
            set
            {
                if(String.IsNullOrEmpty(value))
                    throw new ApplicationException("FirstName cannot be null or empty!");
                _firstName = value; 

                OnPropertyChanged("FirstName");
            }
        }

<Style x:Key="TextBoxStyle" TargetType="TextBox">

            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <DockPanel LastChildFill="True">
                            <TextBlock DockPanel.Dock="Right"
                        Foreground="Orange"
                        FontSize="12pt"
                        Text="{Binding ElementName=MyAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
                            </TextBlock>
                            <Border BorderBrush="Green" BorderThickness="1">
                                <AdornedElementPlaceholder Name="MyAdorner" />
                            </Border>
                        </DockPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>

        </Style>
bubuko.com,布布扣

下面是文本框代码

bubuko.com,布布扣
<TextBox Name="txtFirstName" Style="{StaticResource TextBoxStyle}" Grid.Column="1"  Grid.Row="0" Height="20" Width="100" Margin="10">
                <TextBox.Text>
                    <Binding Path="FirstName">
                        <Binding.ValidationRules>
                            <ExceptionValidationRule />
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>

            </TextBox>
bubuko.com,布布扣

当然验证有很多方式,,但我在网上看很多人这样写,却没有直接抛出异常,而是在TextBox的ErrorTemplate中显示。

【WPF】ExceptionValidationRule不能出现在Validation.Errors Collection,布布扣,bubuko.com

【WPF】ExceptionValidationRule不能出现在Validation.Errors Collection

标签:style   class   blog   c   code   java   

原文地址:http://www.cnblogs.com/wywnet/p/3749864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!