我使用的是DataGrid
,我创建了一个名为Time_Edit
的自定义控件。此控件是一个带有两个TextBox
控件的复杂控件。
<DataTemplate x:Key="Time_Edit">
<local:TimeView DataContext="{Binding TimeViewModel}"/>
</DataTemplate>
TimeViewModel
是主视图模型的属性。
我添加了DataGrid.RowValidationErrorTemplate
:
<DataGrid.RowValidationErrorTemplate>
<ControlTemplate>
<Viewbox>
<Grid Margin="0,-2,0,-2"
ToolTip="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}, Path=(Validation.Errors)[0].ErrorContent}">
<Ellipse StrokeThickness="0" Fill="Red" Width="{TemplateBinding FontSize}"
Height="{TemplateBinding FontSize}"/>
<TextBlock Text="!" FontSize="{TemplateBinding FontSize}"
FontWeight="Bold" Foreground="White"
HorizontalAlignment="Center" />
</Grid>
</Viewbox>
</ControlTemplate>
</DataGrid.RowValidationErrorTemplate>
以下是截图:
绑定工作正常。验证在TextBox
控制级别执行,但不在DataGridRow
级别执行。有人能帮助我吗?