hc:CheckComboBox support for Validation

This commit is contained in:
NaBian committed 2021-07-18 00:22:43 +08:00
1 parent 965ea1a909
commit 697b5e0014
3 files changed
+20 -3

No files matched your search

@@ -172,6 +172,7 @@
<Setter Property="Padding" Value="{StaticResource DefaultInputPadding}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxTemplate}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
<ControlTemplate x:Key="CheckComboBoxExtendTopTemplate" TargetType="hc:CheckComboBox">
@@ -534,6 +535,7 @@
</ControlTemplate>
<Style x:Key="CheckComboBoxPlusBaseStyle" BasedOn="{StaticResource CheckComboBoxExtendBaseStyle}" TargetType="hc:CheckComboBox">
<Setter Property="IsError" Value="{Binding Path=(Validation.HasError),RelativeSource={RelativeSource Self}}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusTopTemplate}"/>
<Style.Triggers>
<Trigger Property="hc:InfoElement.TitlePlacement" Value="Left">
@@ -185,9 +185,22 @@ namespace HandyControl.Controls
}
}
IsError = !result.Data;
ErrorStr = result.Message;
return result.Data;
var isError = !result.Data;
if (isError)
{
SetCurrentValue(IsErrorProperty, true);
SetCurrentValue(ErrorStrProperty, result.Message);
}
else
{
isError = Validation.GetHasError(this);
if (isError)
{
SetCurrentValue(ErrorStrProperty, Validation.GetErrors(this)[0].ErrorContent);
}
}
return !isError;
}
public Func<string, OperationResult<bool>> VerifyFunc { get; set; }
@@ -179,6 +179,7 @@
<Setter Property="Padding" Value="{StaticResource DefaultInputPadding}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxTemplate}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
<ControlTemplate x:Key="CheckComboBoxExtendTopTemplate" TargetType="hc:CheckComboBox">
@@ -569,6 +570,7 @@
</ControlTemplate>
<Style x:Key="CheckComboBoxPlusBaseStyle" BasedOn="{StaticResource CheckComboBoxExtendBaseStyle}" TargetType="hc:CheckComboBox">
<Setter Property="IsError" Value="{Binding Path=(Validation.HasError),RelativeSource={RelativeSource Self}}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusTopTemplate}"/>
<Style.Triggers>
<Trigger Property="hc:InfoElement.TitlePlacement" Value="Left">