2

最近、最初のカスタム コントロールであるオートコンプリート テキスト ボックスを作成しました。その Controltemplate は次のようなもので構成されています

<Grid >
  <Border/>
  <TextBlock x:Name="Label"/>
  <TextBox x:Name="TextLabel"/>
</Grid>

最初の Textblock はラベルとして使用され、2 番目の Textblock はコンテンツを表示します。TextLabel は Object にバインドします。これを Customer と呼びましょう。基になる検索で Customer オブジェクトが見つからない場合は、エラー テンプレートを表示します。このように 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 の周りにのみあり、カスタム コントロール全体の周りにはありません。

私は2つのことを達成する方法を考えていました:

  • 子検証の 1 つが失敗したときに、CustomControl の ErrorTemplate をトリガーするにはどうすればよいですか?
  • これらすべての NotifyOnValidationerror プロパティを指定する必要がありますか、またはエンティティ レベルですべてのエラーをキャッチして同じ ErrorTemplate を表示することは可能ですか?

追加情報が必要な場合は、お問い合わせください

4

0 に答える 0