このanswerに記載されているものを実装しようとしています。私は検証警告とエラーのために一つのテンプレートを持っていたいと思います。私はそれがこのようなスタイルのトリガーにValidation.ErrorTemplate
に結合することによって考え出したと思っていた:xamlのErrorContentに基づいてValidation.ErrorTemplateを動的に変更する方法
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="Validation.ErrorTemplate" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Converter={StaticResource ValidationTemplateConverter}, Path=(Validation.Errors)[0].ErrorContent}" ></Setter>
</Trigger>
</Style.Triggers>
</Style>
コンバータは単にErrorContentから鍵を取り、正しいテンプレートのResourceDictionary
内のルックアップを行います。 Validation.ErrorTemplate
への結合が許可されていないため、残念ながら、これは動作しません - 他のArgumentException
'ErrorTemplate' property cannot be data-bound.
Parameter name: dp
誰もがこのような何かを実装しようか?
を適用いくつかの研究を行い、試してみてください。ありがとう。 –
@ John Maillet StyleSelectorsとDataTemplateSelectorsを使用すると、適用するスタイルやコントロールテンプレートを動的に選択できるため、記述するシナリオに最適です – cordialgerm
Validation.Errorsに正しくバインドできないようです。 SelectorはItemsControlで決して起動しません。私は代わりにContentControlを入れ、Validation.Errors [0]にバインドしました。 TemplateSelectorが呼び出されますが、SelectTemplateの 'item'パラメータは常にnullです。 –