WPF TextBox验证
这个是微软给的XAML 代码。
1.TetxtBox
- XML code
<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}"> <Style.Triggers> <Trigger Property="Validation.HasError" Value="true"> <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers></Style>
2. TextBox模板
- XML code
<ControlTemplate x:Key="validationTemplate"> <DockPanel> <TextBlock Foreground="Red" FontSize="20">!</TextBlock> <AdornedElementPlaceholder/> </DockPanel></ControlTemplate>
3.TetxtBox使用模板
- XML code
<TextBox Name="textBox1" Width="50" FontSize="15" Validation.ErrorTemplate="{StaticResource validationTemplate}" Style="{StaticResource textBoxInError}" Grid.Row="1" Grid.Column="1" Margin="2"> <TextBox.Text> <Binding Path="Age" Source="{StaticResource ods}" UpdateSourceTrigger="PropertyChanged" > <Binding.ValidationRules> <c:AgeRangeRule Min="21" Max="130"/> </Binding.ValidationRules> </Binding> </TextBox.Text></TextBox
我想将它转换为后台代码时遇到的问题
1.
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
这句不知道怎么转换为后台代码
2.ControlTemplate 我已经在后台写好了 但不知道怎么赋值给TextBox 的 Validation.ErrorTemplate
因为在后台找不到 TextBox 的Validation.ErrorTemplate 属性,但是XAML 界面是能这样写。
[解决办法]
是不是要处理特殊符号而已。你用代码操作这些XAML代码内容吗。
[解决办法]
什么叫把XAML转成后台代码?什么意思?
XAML只是个布局文件而已,后台代码才是源码啊
[解决办法]
http://nonocast.cn/?s=%E9%80%9A%E8%AE%AF%E5%BD%95
[解决办法]