2013-08-06 3 views
1

Я новичок в WPF, и теперь я борюсь с его валидацией. В методе validate моего класса Validation мне нужно сравнить значение TextBox1 с TextBox2, которые включены в мою форму.WPF ValidationRule - Как сравнить два значения друг с другом

Есть ли способ сделать это в WPF?

+0

, если вы хотите проверка сделать ..? При событии нажатия кнопки, когда указаны оба значения текстового поля. ?? – Vishal

+0

Мне нужно, чтобы это было сделано в текстовом поле. –

+0

Можете ли вы привести пример, как вы хотите? .. – Vishal

ответ

1

Как насчет this- Xaml.cs файл

private string _Txt1; 

      public string Txt1 
      { 
       get { return _Txt1; } 
       set { _Txt1 = value; 
       OnPropertyChanged("Txt1"); 
       } 
      } 

      private string _Txt2; 

      public string Txt2 
      { 
       get { return _Txt2; } 
       set 
       { 
        _Txt2 = value; 
        OnPropertyChanged("Txt2"); 
       } 
      } 

    public event PropertyChangedEventHandler PropertyChanged; 

      /// <summary> 
      /// Called when [property changed]. 
      /// </summary> 
      /// <param name="PropertyName">Name of the property.</param> 
      private void OnPropertyChanged(string PropertyName) 
      { 
       if (PropertyChanged != null) 
       { 
        PropertyChanged(this, new PropertyChangedEventArgs(PropertyName)); 
       } 
      } 

private void textbox2_TextChanged(object sender, TextChangedEventArgs e) 
     { 
      Check(); 
     } 

     private void textbox1_TextChanged(object sender, TextChangedEventArgs e) 
     { 
      Check(); 
     } 

     public void Check() 
     { 
      if (Txt1 == Txt2) 
      { 
       MessageBox.Show("Values cant be same"); 
       Txt1 = ""; 
       Txt2 = ""; 
      } 
     } 

Xaml файл-

<Grid> 
     <TextBox Name="textbox1" Width="100" Height="20" TextChanged="textbox1_TextChanged" Text="{Binding Txt1,RelativeSource={RelativeSource AncestorType=Window},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/> 
     <TextBox Name="textbox2" Width="100" Height="20" Margin="81,146,322,146" TextChanged="textbox2_TextChanged" Text="{Binding Txt2,RelativeSource={RelativeSource AncestorType=Window},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/> 
    </Grid> 
Смежные вопросы