如何通过ValidationRule类';在WPF中运行时的属性值?
我有用于折扣百分比验证的ValidationRule类(如下所示)如何通过ValidationRule类';在WPF中运行时的属性值?,wpf,binding,Wpf,Binding,我有用于折扣百分比验证的ValidationRule类(如下所示) 公共类折扣规则:ValidationRule { 公共浮点最小值{get;set;} 公共浮点最大值{get;set;} 公共覆盖验证结果验证(对象值,System.Globalization.CultureInfo CultureInfo) { 浮点数_prm=0f; 尝试 { if(value.ToString().Length>0) { _prm=float.Parse(value.ToString()); } } 抓住
公共类折扣规则:ValidationRule
{
公共浮点最小值{get;set;}
公共浮点最大值{get;set;}
公共覆盖验证结果验证(对象值,System.Globalization.CultureInfo CultureInfo)
{
浮点数_prm=0f;
尝试
{
if(value.ToString().Length>0)
{
_prm=float.Parse(value.ToString());
}
}
抓住
{
返回新的ValidationResult(false,“非法字符,请输入Numaric值”);
}
如果((_prmMax))
{
返回新的ValidationResult(false,String.Format(“请输入以下范围内的值:{0}-{1}.”,this.Min,this.Max));
}
返回新的ValidationResult(true,null);
}
}
在XAML中,我们使用这个ValidationRule类,如下所示,并在ValidationRules标记中设置Min和Max属性
<TextBox x:Name="txtDisPer" Width="108" HorizontalAlignment="Center" VerticalAlignment="Center" Validation.Error="txtDisPer_Error" >
<Binding Path="Rate" UpdateSourceTrigger="PropertyChanged" ValidatesOnExceptions="True" ValidatesOnDataErrors="True" NotifyOnValidationError="True" Mode="TwoWay" NotifyOnSourceUpdated="True" NotifyOnTargetUpdated="True">
<Binding.ValidationRules>
<local:DiscountPerRule Max="100" Min="0"/>
</Binding.ValidationRules>
</Binding>
</TextBox>
因此,如何在运行时(以编程方式)在C代码中分配/重新分配最小值和最大值最简单的方法是在XAML中命名验证规则:
<local:DiscountPerRule x:Name="discountPerRule" Max="100" Min="0"/>
先生,我已经完善了我的问题,我希望你现在能明白我的问题,谢谢
<local:DiscountPerRule x:Name="discountPerRule" Max="100" Min="0"/>
discountPerRule.Min = 10;
discountPerRule.Max = 50;