2
내가 모두가 텍스트 상자에 유사한 설정이 같은 뭔가, 데이터 입력 필드의 무리를 정의하는 유형에 대한 데이터 템플릿이 있습니다XAML에서 스타일을 통해 바인딩 속성을 설정하는 방법은 무엇입니까?
<DataTemplate x:Key="ContactInfo">
<DockPanel>
<HeaderedContentControl Header="Contact Name">
<TextBox Width="200" Text="{Binding Name, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
<HeaderedContentControl Header="Contact Quest">
<TextBox Width="200" Text="{Binding Quest, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
<HeaderedContentControl Header="Contact Favorite Color">
<TextBox Width="200" Text="{Binding Color, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
</DockPanel>
</DataTemplate>
나는 중복을 최대한 줄이고 제거하고 싶습니다 내가 할 수있는만큼 중복 된 속성을 사용할 수 있습니다. DataTemplate에
<DataTemplate.Resources>
<Style TargetType="x:Type TextBox">
<Setter Property="Width" Value="200"/>
</Style>
</DataTemplate.Resources>
을 추가하여 반복되는 Width 특성을 제거 할 수 있다는 것을 알고 있습니다. 그러나 중복 된 "ValidatesOnDataErrors = True"설정을 없애기를 원합니다. 내가 thusly 히를 설정하는 스타일을 수정 시도
:
<DataTemplate.Resources>
<Style TargetType="x:Type TextBox">
<Setter Property="Width" Value="200"/>
<Setter Property="Text.Binding.ValidatesOnDataErrors" Value="True"/>
</Style>
</DataTemplate.Resources>
하지만 컴파일시는 ValidatesOnDataErrors가 분해되지 않는 불평.
내가 원하는 것을 어떻게 달성 할 수 있습니까? 나는 스타일에 50 가지 이상의 필드가 있으며, 유효성 검사 기술을 변경하기로 결정할 경우 하나씩 모두 변경하고 싶지는 않습니다.
내가보기에 문제가된다는 점에서 도움이됩니다. 더 쉬운 해결책이 있기를 희망한다는 점에서 도움이되지 않습니다. 더 나은 방법이 없다면 아마이 방법을 사용할 것입니다. 불행히도,이 답변을 높이 평가하면 내가 가진 것보다 더 많은 평판이 필요합니다. –
나는 명성을 알고있다 :-) –
-1 : 링크 전용 답변을 피하십시오. – ANeves