zoukankan      html  css  js  c++  java
  • 瞄到BindingGroup用法

    文章转载于https://www.cnblogs.com/dangnianxiaoqingxin/p/12653988.html

    2.BindingGroup的使用

     public class MyClass 
        {             
            public int StartValue { get; set; }    
            public int EndValue { get; set; } 
        }
    复制代码
     public class RangeValidationRule : ValidationRule
        {
            public override ValidationResult Validate(object value, CultureInfo cultureInfo)
            {
                BindingGroup bindingGroup = (BindingGroup)value;
                MyClass mc = (MyClass)bindingGroup.Items[0];
                int startValue = (int)bindingGroup.GetValue(mc, "StartValue");
                int endValue = (int)bindingGroup.GetValue(mc, "EndValue");
                bool isEnabled = (bool)bindingGroup.GetValue(mc, "IsEnabled");
    
                if (startValue > endValue)
                {
                    return new ValidationResult(true, null);
                }
    
                return new ValidationResult(false, "Input should between 0 and 100");
            }
        }
    复制代码
    复制代码
     MyClass mc = new MyClass();
            public MainWindow()
            {
                InitializeComponent();
             
                this.DataContext = mc;
            }
    复制代码
    复制代码
     <Grid Name="Grid1" Width="400" Height="300" >
           
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.BindingGroup>
                <BindingGroup NotifyOnValidationError="True">
                    <BindingGroup.ValidationRules >
                        <local:RangeValidationRule2 ValidationStep="ConvertedProposedValue"  />
                    </BindingGroup.ValidationRules>
                </BindingGroup>
            </Grid.BindingGroup>
            <TextBox Grid.Row="0" Name="tb1" Text="{Binding StartValue}">
               
            </TextBox>
            <TextBox Grid.Row="1" Text="{Binding EndValue}"/>
            <Button Name="btn1" Content="btn1" Grid.Row="2" Click="Button_Click"  >
              
               
            </Button>
        </Grid>
    复制代码

    验证:

      this.Grid1.BindingGroup.CommitEdit();

    文章转载于https://www.cnblogs.com/dangnianxiaoqingxin/p/12653988.html

  • 相关阅读:
    完整的WSDL语法
    WSDL UDDI
    八一八 The Social Network的小细节
    MySQL命令行常用命令
    AspectJ风格的Aop切点表达式
    强大的Mockito测试框架
    MySQL锁定状态查看命令
    Yum本地Rpm库设置
    Sed实例大全
    为何 Emacs 和 Vim 被称为两大神器
  • 原文地址:https://www.cnblogs.com/wandia/p/14175469.html
Copyright © 2011-2022 走看看