标签:style class blog c code java
问题:我抛出ApplicationException如果FirstName值是null或空,我试图显示错误消息的TextBlock ErrorTemplate的一部分。但它总是显示“异常被抛出在调用的目标”。
代码如下:
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>
下面是文本框代码
<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>
当然验证有很多方式,,但我在网上看很多人这样写,却没有直接抛出异常,而是在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