Я пытаюсь выполнить проверку в моем приложении WPF с помощью интерфейса IDataErrorInfo
, и я столкнулся с не очень желательной ситуацией.Шаблон ошибки отображается над другими элементами управления, когда он должен быть скрыт
У меня есть шаблон, который используется, когда элемент управления не проверяет
<ControlTemplate x:Key="errorTemplate">
<DockPanel LastChildFill="true">
<Border Background="Red" DockPanel.Dock="Right" Margin="5,0,0,0" Width="20" Height="20" CornerRadius="10"
ToolTip="{Binding ElementName=customAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
<TextBlock Text="!" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" Foreground="White" />
</Border>
<AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
<Border BorderBrush="red" BorderThickness="1" />
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
Все хорошо, пока я пытаюсь показать что-то выше контроля, который не прошел проверку, например, отображение пункта док над ней:
Как я могу избежать этого и сделать мой шаблон ошибки отображается ниже элемента док, как это должно?
EDIT
я обнаружил, что я мог бы обернуть мой TextBox
с AdornerDecorator
, чтобы исправить это, но я действительно не хочу, чтобы сделать это для всех и каждого TextBox
управления в моем приложении. Есть ли способ установить его с помощью Style
или каким-либо другим способом?
EDIT 2
Я мог бы изменить по умолчанию TextBox
ControlTemplate к материалу включает AdornerDecorator
, но я не слишком заинтересован в изменении любого из шаблонов управления по умолчанию WPF в. Любые другие предложения приветствуются.
я не делаю см., как это решает что угодно. Граница все еще отображается над элементом док-станции. –