次の方法で共有


DataGrid.RowValidationErrorTemplate プロパティ

定義

行の検証のエラーを視覚的に示すテンプレートを取得または設定します。

public:
 property System::Windows::Controls::ControlTemplate ^ RowValidationErrorTemplate { System::Windows::Controls::ControlTemplate ^ get(); void set(System::Windows::Controls::ControlTemplate ^ value); };
public System.Windows.Controls.ControlTemplate RowValidationErrorTemplate { get; set; }
member this.RowValidationErrorTemplate : System.Windows.Controls.ControlTemplate with get, set
Public Property RowValidationErrorTemplate As ControlTemplate

プロパティ値

行の検証で発生したエラーを視覚的に示すために使用するテンプレート。 登録済みの既定値は null です。 この値が何に影響されるかの詳細については、DependencyProperty のトピックを参照してください。

次の例では、行の検証に関する既定のフィードバックを、よりわかりやすいインジケーターに置き換えています。 ユーザーが無効な値を入力すると、白い感嘆符が含まれる赤い円が、行ヘッダーに表示されます。 ツールヒントには関連するエラー メッセージが表示されます。 このコード例は、「 方法: DataGrid コントロールを使用して検証を実装する 」トピックで提供されるより大きな例の一部です。

<DataGrid.RowValidationErrorTemplate>
  <ControlTemplate>
    <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>
  </ControlTemplate>
</DataGrid.RowValidationErrorTemplate>

注釈

DataGrid コントロールを使用すると、セル レベルと行レベルの両方で検証を実行できます。 セル レベルの検証では、ユーザーが値を更新するときに、バインドされたデータ オブジェクトの個々のプロパティが検証されます。 行レベルの検証では、ユーザーが変更を行にコミットするときに、データ オブジェクト全体が検証されます。 エラー インジケーターの外観を定義する を ControlTemplate 指定することで、行レベルの検証エラーに対してカスタマイズされた視覚的フィードバックを提供できます。 プロパティを RowValidationErrorTemplatenull 設定して、既定のエラー インジケーターを使用します。

適用対象

こちらもご覧ください