我有UserControl
限制在我的视图模型中。视图模型实现IDataErrorInfo
。 UserConrol
有Validation.ErrorTemplate
。在此模板中,我使用转换器显示错误的工具提示:
<UserControl.Style>
<Style TargetType="{x:Type UserControl}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel>
<AdornedElementPlaceholder x:Name="adorner">
<Image x:Name="imgError"
Width="32"
Height="32"
Margin="5"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
ToolTip="{Binding ElementName=adorner,Path=AdornedElement.(Validation.Errors),Converter={StaticResource ValidationErrors2TooltipConverter},ConverterParameter='Couldn't save hour work:'}"
Source="{StaticResource ErrorDrawingImage}" />
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Style>
当我更改某些属性时(例如:ComboBox
的选择),错误的数量应该会改变,但事实并非如此。我找不到在ToolTip
中刷新错误的方法。
问题:
ToolTip
。UserControl
,但不适用于其中的组件。我为Validation.ErrorTemplate
中的组件定义了UserControl
,但是它们不可见,但是对于查看模型的限制(使用IDataErrorInfo
)。答案 0 :(得分:0)
必须对UserControl中的每个控件应用验证模式。没有“继承”。