我有一个包含文本框和按钮的 WPF 用户控件。文本框关联了验证规则(它执行一些业务规则。这个类实现了ValidationRule)。该按钮需要根据文本框验证结果启用/禁用。
文本框的验证正常进行。
按钮的启用/禁用未正确进行。一旦按钮被启用,即使文本框的验证导致错误,它也不会被禁用。
<TextBox MaxLength="3" Width="40" Margin="5" x:Name="Text1" HorizontalContentAlignment="Center">
<TextBox.Text>
<Binding Path="Densities[0].Value" UpdateSourceTrigger="PropertyChanged" >
<Binding.ValidationRules>
<administration:ValidateDensityRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
按钮 Xaml
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Text1,Path=(Validation.HasError)}" Value="True">
<Setter Property="IsEnabled" Value="False"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
我在这里想念什么?