У меня есть вопрос, очень похожий на них:WPF TextBox с проверкой теряет ErrorTemplate
Issue with WPF validation(IDataErrorInfo) and tab focusing
TextBox with validation loses ErrorTemplate on tab change
AdornerDecorator
сделать трюк в пределах одного экземпляра из Window
, но когда Window
перезагружается, и я переключаюсь на TabItem
, содержащий TextBox
по ошибке, ErrorTemplate
больше не будет отображаться.
<Window x:Class="Views.MyWindowView">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TabControl HorizontalAlignment="Stretch"
Height="Auto"
VerticalAlignment="Top"
Width="Auto"
SelectionChanged="TabItemChanged"
Name="MyTabControl">
<!-- Below, AdornerDecorator are added for the following reason:
the Validation.Error cues are painted in the Adorner Layer.
When tabs are switched, that layer is discarded. -->
<!-- The view 1 tab.-->
<TabItem Header="{Resx tab1_Header}"
Name="Tbi1">
<AdornerDecorator>
<vw:MyView1 DataContext="{Binding}"/>
</AdornerDecorator>
</TabItem>
<!-- The view 2 tab.-->
<TabItem Header="{Resx tab2_Header}"
Name="Tbi2">
<AdornerDecorator>
<vw:MyView2 DataContext="{Binding}"/>
</AdornerDecorator>
</TabItem>
</TabControl>
...
Я пытался RETRIGGER проверки в отделенном коде на TabControl
SelectionChanged
, не работает.
Любая идея?
«Когда окно перезагружается»? Что это значит? Почему ваша перезагрузка окна? Как перезагрузка? – Will
Это модальное диалоговое окно. Он может быть открыт и закрыт много раз. Это то, что я подразумеваю под «перезагрузкой». – CTZStef
Вы скрываете это и показываете его, а не разрушаете его между ними? – Will