行のアイテムに検証エラーが含まれている場合、ContentPresenter
のコンテンツを表示するために使用されるのDataGridTemplateColumn
はデフォルトを表示することがわかりました。ErrorTemplate
これを防ぐ直接的な方法はわかりません。何か案は?
検証エラーテンプレートが表示されていないことを確認する最初の試みは次のとおりです。
<DataGridTemplateColumn Width="70" Header="Enabled" Validation.ErrorTemplate="{x:Null}" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Enabled.Value}"
HorizontalAlignment="Center"
VerticalAlignment="Center" Validation.ErrorTemplate="{x:Null}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style >
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
Snoopを使用すると、セルにContentPresenter
検証エラーを表示しているが含まれていることがわかります。
データグリッド内のすべてのコンテンツプレゼンターのエラーテンプレートを削除することによってのみ、これを無効にできることがわかりました。
<DataGrid.Resources>
<Style TargetType="ContentPresenter">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGrid.Resources>
シングルにのみ影響するこれへの方法はありDataGridTemplateColumn
ますか?
この投稿は似ているようです: DataGridCellValidation.ErrorTemplateは無視されました