Для выполнения такой проверки вы можете использовать интерфейс класса модели представления IDataErrorInfo
.
class MyViewModel : IDataErrorInfo
{
public string NewName { get; set; } // Notify property change here
public string OldName { get; set; } // Notify property change here
public string Error { get; private set; }
public string this[string property]
{
get
{
switch (property)
{
case "OldName":
case "NewName":
return OldName != NewName ? "Names are different" : null;
}
return null;
}
}
}
Затем вам необходимо включить проверку в креплениями:
<TextBox Grid.Row="2" Grid.Column="1"Height="20" Name="OldTextBox" Text="{Binding OldName, ValidatesOnDataErrors=True}" />
<TextBox Grid.Row="3" Grid.Column="1" Height="20" Name="NewTextBox" Text="{Binding NewName, ValidatesOnDataErrors=True}" />
При необходимости, вы можете изменить цвет фона по стилизации ваши текстовые:
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>