如何获得将文本框中的文本重置为已知值的按钮?在我的示例中,触发了验证规则,因此我无法使用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;