Кнопка WPF для обновления текстового поля в xaml с помощью средства проверки

#wpf #xaml #mvvm

#wpf #xaml #mvvm

Вопрос:

Как я могу получить кнопку для сброса текста в текстовом поле до известного значения? В моем примере срабатывает правило проверки, поэтому я не могу использовать команду button для обновления свойства, что хорошо, потому что я не хочу, чтобы свойство было установлено, если оно недействительно. Я просто хочу, чтобы кнопка в основном сбрасывала значение в xaml без использования свойства. Как мне это сделать?

    <TextBox Grid.Column="1" Grid.Row="9" HorizontalAlignment="Left"  Height="20" Width="105" Name="Elevation"
             Validation.ErrorTemplate="{StaticResource validationTemplate1}" Style="{StaticResource textBoxInError}">
        <TextBox.Text >
            <Binding Path="Elevation" Mode="TwoWay" UpdateSourceTrigger="LostFocus">
                <Binding.ValidationRules>
                    <rules:NotEmptyValidationRule ValidatesOnTargetUpdated="True" ValidationStep="RawProposedValue"/>
                    <rules:DoubleValidationRule ValidatesOnTargetUpdated="True" ValidationStep="RawProposedValue"/>
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>
 <Button Grid.Column="2" Grid.Row="9" Height="20" Command="{Binding ClickResetCommand}" CommandParameter="Elevation" >R</Button>
  

Все еще ищу решение XAML, но пока я изменил кнопку на использование OnClick и в коде, использующем следующее…

   case "Elevation":
   Elevation.Text = "50";
   Validation.ClearInvalid(Elevation.GetBindingExpression(TextBox.TextProperty) ?? throw new InvalidOperationException());
   Elevation.Focus();
  break;
  

Комментарии:

1. Я предполагаю, что вы не хотите добавлять небольшой код для обработки нажатия кнопки?

2. Если мне нужно, но я подумал, что может быть простое решение XAML, но я не смог его найти.