데이터에 바인딩 된 컨트롤 집합이 있는데, 여기에 프로그래밍 방식으로 바인딩에 유효성 검사기를 추가하고 싶습니다. 현재 시각적 트리를 반복하여 바인딩이있는 컨트롤을 찾고이 컨트롤에 유효성 검사기를 추가 할 수 있습니다. 그러나 어느 컨트롤이 특정 유효성 검사를 가져야하는지 더 자세히 지정하려면 스타일을 사용하고 싶었습니다. 그래서 내 XAML은 다음과 같습니다 : 여기스타일이 지정된 WPF DependencyObject를 사용하면 코드에서 스타일 키를 어떻게 얻을 수 있습니까?
<TextBox Name="someTextBox" Style="{StaticResource optionalNumericTextBox}" />
는 optionalNumericTextBox
스타일은 모두 유효성 검사 오류 템플릿을 추가하고이 텍스트 상자가 선택 숫자 검증이 적용된해야 함을 표시하는 장식 역할을합니다.
이 문제는 시각적 트리를 탐색하고 바인딩이있는 컨트롤을 발견 한 다음 사용중인 스타일을 결정해야 할 때 발생합니다. 현재 내가 나에게 a Style 객체를 제공하지만, 지금까지 내가 말할 수있는,이 객체가 'optionalNumericTextBox'값을 수행하지 않습니다
dependencyObject.GetValue(FrameworkElement.StyleProperty)
을 시도했습니다. XAML 판독기에서 키를 확인하거나이 정보를 잃어 버렸습니까?
거기에 멋진 팁, 속성 설정기를 사용합니다. 사실 태그 대신 첨부 된 속성을 사용하는 방향으로 나를 가리켰다. 이제 다음과 같은 것을 사용합니다 : 매력처럼 작동합니다! –