我正在尝试在验证文本框时禁用/启用按钮。
我得到验证工作(我知道它可行,因为它改变了设计)。 但是,当文本框验证时,我似乎无法将按钮从禁用更改为启用。
这是我的代码:
<AdornerDecorator>
<TextBox Width="150"
Validation.ErrorTemplate="{StaticResource ValidationErrorTemplate}"
x:Name="OrgNoTextBox">
<TextBox.Text>
<Binding Path="Customer.OrgNo" UpdateSourceTrigger="PropertyChanged" >
<Binding.ValidationRules>
<client:RegexValidationRule ValidatesOnTargetUpdated="True" Pattern="OrgNo" />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
</AdornerDecorator>
...
<Button Width="80"
Height="25"
Margin="0 0 5 0"
Command="{Binding OkCommand}"
HorizontalAlignment="Left"
IsDefault="True"
Content="Save">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="false" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=OrgNo, Path=(Validation.HasError)}"
Value="false" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled"
Value="true" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
答案 0 :(得分:5)
ElementName
中的MultiDataTrigger
错误。它应该是OrgNoTextBox
而不是OrgNo
。
答案 1 :(得分:0)
喜欢它
private void Grid_MouseMove_1(object sender, MouseEventArgs e)
{
btn.IsEnabled = false;
if (txt.IsArrangeValid == true)
{
btn.IsEnabled = true;
}
}