#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, но я не смог его найти.