カスタムツールチップを作成しようとしています。問題は、エラーテキストを表示できないことです。このコードは完璧に動作します(簡単なツールチップ)カスタムツールチップの検証エラーWPF
<Style TargetType="{x:Type TextBox}"
BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<Grid>
<Polygon Fill="Red"
Margin="0,2,2,0"
Points="10,10 10,0 0,0"
VerticalAlignment="Top"
HorizontalAlignment="Right"
ToolTip="{Binding ElementName=adorner, Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}">
</Polygon>
<AdornedElementPlaceholder x:Name="adorner" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
しかし、このコードは、動作しない、エラー
<Style TargetType="{x:Type TextBox}"
BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<Grid>
<Polygon Fill="Red"
Margin="0,2,2,0"
Points="10,10 10,0 0,0"
VerticalAlignment="Top"
HorizontalAlignment="Right">
<Polygon.ToolTip>
<ToolTip Content="{Binding ElementName=adorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"
BorderThickness="1"
Foreground="White"
Background="Red" />
</Polygon.ToolTip>
</Polygon>
<AdornedElementPlaceholder x:Name="adorner" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
回答ありがとう、私はすでにそれを試みましたが、それは動作しませんでした。 – avechuche
これは、独自のツールチッププロパティに与えられたテキストではなく、ツールチップオブジェクトが挿入されていることが原因です。 私が最初の例に戻し、それらの属性を操作するためのスタイルを使用しています。オブジェクト参照の手間を省くことができます。 スタイルを区切っておくのがよい方法であるため、これまで私のアプリケーションでこれを行っています。また、もしあなたが超クールに見えるようにしたいなら、あなたは動的にスワップすることができます。 – LiamHarries