我最近编写了我的第一个自定义控件,一个自动完成文本框。它的 Controltemplate 由这样的东西组成
<Grid >
<Border/>
<TextBlock x:Name="Label"/>
<TextBox x:Name="TextLabel"/>
</Grid>
第一个文本块用作标签,第二个显示内容。TextLabel 绑定在一个对象上,我们称它为客户 如果底层搜索没有找到客户对象,我想显示错误模板。像这样定义 TextLabel 时
<TextBox x:Name="PART_Editor"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Validation.ErrorTemplate="{DynamicResource ValidationErrorTemplate}"
Style="{StaticResource TransparentTextBoxStyle}"
Text="{Binding Path=Text, RelativeSource={RelativeSource Mode=TemplatedParent},
Mode=TwoWay, ValidatesOnNotifyDataErrors=True,
NotifyOnValidationError=True,
ValidatesOnDataErrors=True,
UpdateSourceTrigger=PropertyChanged}" >
</TextBox>
进行验证并显示文本框的错误模板。不幸的是,红色边框仅在内部 TextBox 周围,而不是在看起来不太好的整个自定义控件周围。
我想知道如何实现两件事:
- 当其中一个子验证失败时,如何触发 CustomControl 的 ErrorTemplate?
- 我是否必须指定所有这些 NotifyOnValidationerror 属性,或者是否可以在实体级别捕获所有错误并显示相同的 ErrorTemplate
如果您需要更多信息,请询问