我正在验证TextBox
特定范围的控件。如果用户输入的值超出范围,则会Adorner
显示如上图所示的控件。
我的问题是控件超出了窗口大小。即使窗口尺寸如上所示,我如何将红色装饰器放置在窗口上方。
下面是我用于 a ControlTemplate
and的代码Style
:
<ControlTemplate x:Key="validationTemplate">
<DockPanel LastChildFill="True">
<TextBlock Name="ErrorText" DockPanel.Dock="Bottom" Foreground="White"
FontSize="12" Padding="7" FontFamily="Trebuchet MS"
Margin="5,5,0,0"
TextWrapping="Wrap"
Text="{Binding [0].ErrorContent}" >
<TextBlock.Background>
<SolidColorBrush Color="Red" Opacity="0.95"></SolidColorBrush>
</TextBlock.Background>
</TextBlock>
<AdornedElementPlaceholder Name="ErrorTextBox" />
</DockPanel>
</ControlTemplate>
<Style x:Key="ValidationStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Red" ShadowDepth="5" Direction="135" Opacity="0.5"></DropShadowEffect>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
请帮忙。