0
私は、私の見解モデルにUserControl
を囲まれています。ビューモデル実装IDataErrorInfo
。 UserConrol
はValidation.ErrorTemplate
です。私は(例えば:ComboBox
の選択)は、いくつかのプロパティを変更するとWPFユーザーコントロールの検証問題
<UserControl.Style>
<Style TargetType="{x:Type UserControl}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel>
<AdornedElementPlaceholder x:Name="adorner">
<Image x:Name="imgError"
Width="32"
Height="32"
Margin="5"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
ToolTip="{Binding ElementName=adorner,Path=AdornedElement.(Validation.Errors),Converter={StaticResource ValidationErrors2TooltipConverter},ConverterParameter='Couldn't save hour work:'}"
Source="{StaticResource ErrorDrawingImage}" />
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Style>
:このテンプレートでは、私はエラーでツールチップを表示するために、コンバータを使用して、エラーの数は変更する必要がありますが、それはしていません。 ToolTip
でエラーをリフレッシュする方法が見つかりませんでした。
質問:
- はどのよう
ToolTip
でエラーをリフレッシュできます。 - 検証は
UserControl
のために正常に動作しますが、それ内部のコンポーネントには機能しません。しかし、コントロールが(IDataErrorInfo
と)モデルを表示するために、境界、IはUserControl
にコンポーネントのValidation.ErrorTemplate
年代を定義するが、それらは表示されません。
だから私は 'IDataErrorInfo'を実装する各制御のための独自のビューモデルを作成する必要がありますか?それは2番目の問題を解決するかもしれないかもしれませんが、最初はどうですか? –
ここでは良いチュートリアルです:http://codeblitz.wordpress.com/2009/05/08/wpf-validation-made-easy-with-idataerrorinfo/ –
私はあなたがいくつかのモデルを作成する必要はないと思うが、 ValidationErrorは各コントロールに対して定義されています。 –