버전 3.5를 사용하는 IDataErrorInfo를 구현하는 MVVM 응용 프로그램이 있습니다. 내가 목표로하고 싶은 4.0 목표 프레임 워크 설정을 수정하고 주위에 몇 비트를 변경 (BitmapFrames과 같은). IDataErrorInfo의 암시가 영향을 받았음을 알게 될 때까지 대부분의 일은 잘되고 과정은 비교적 어려웠습니다.3.5에서 wpf targetting 4.0이 IDataErrorInfo 구현에 영향을 미침
<ControlTemplate x:Key="temp__">
<Border BorderBrush="Orange" BorderThickness="2" CornerRadius="4" SnapsToDevicePixels="True">
<DockPanel>
<Image HorizontalAlignment="Left" VerticalAlignment="Center"
Width="16" Height="16" Margin="-20,0,0,0"
Source="{StaticResource ErrorIcon}"
ToolTip="{Binding ElementName=adornedElement,
Path=AdornedElement.(Validation.Errors),
Converter={helper:ValidationErrorsToStringConverter}}"/>
<AdornedElementPlaceholder Name="adornedElement"/>
</DockPanel>
</Border>
</ControlTemplate>
과 같은 텍스트 상자 스타일로 사용됩니다 :
는검증에 대한 나의 컨트롤 템플릿은 다음과 같습니다
내 뷰 모델, GetValidationError (문자열 propertyName 형식)에서<Setter Property="Validation.ErrorTemplate" Value="{DynamicResource error_holder}">
가 스위치를 사용하여 내 규칙에 따라 적절한 속성의 유효성을 검사하십시오.
일단 유효성 검사가 실행되면 업데이트되지 않는 것이 문제입니다. 예를 들어, 필요에 따라 필드를 설정할 수 있습니다. 적재되면, 필요한 필드는 적절한 메시지와 함께 유효하지 않은 것으로 표시됩니다. 이전에는 유효하지 않은 값을 입력하면 툴팁의 오류 메시지가 업데이트됩니다. 그러나 이것은 더 이상 작동하지 않으며 오류 메시지는 여전히 Null 값 메시지로 남아 있습니다.
누구든지 IDataErrorInfo 4.0의 구현 변경 사항에 대해 알고 있습니까? 어떤 생각을 고칠 수 있을까요?
제 바인딩은 다음과 같이 보입니다. 내가 말했듯이, 4.0으로 넘어 가기 전에이 모든 것이 잘 동작했다. –
pilsdumps