C# WPF验证-红色轮廓和自定义消息框与textbox不同步

C# WPF验证-红色轮廓和自定义消息框与textbox不同步,c#,wpf,validation,wpf-controls,C#,Wpf,Validation,Wpf Controls,我在带有自定义Validation.ErrorTemplate的文本框上使用标准WPF验证 验证使用AdorneDeletePlaceholder,如果出现错误,它会找到覆盖红色文本框边框的正确位置 这是一个问题,因为我的应用程序在触摸屏上使用。当屏幕键盘从底部向上滑动时,文本框向上移动,为屏幕键盘留出空间。但是,由于验证红色轮廓没有直接绑定到文本框(而是在顶部分层),因此该轮廓不会与文本框同步移动。因此,现在红色文本框的轮廓与文本框不同步 是否有办法保持验证UI覆盖(例如,红色文本框轮廓)与文

我在带有自定义Validation.ErrorTemplate的文本框上使用标准WPF验证

验证使用AdorneDeletePlaceholder,如果出现错误,它会找到覆盖红色文本框边框的正确位置

这是一个问题,因为我的应用程序在触摸屏上使用。当屏幕键盘从底部向上滑动时,文本框向上移动,为屏幕键盘留出空间。但是,由于验证红色轮廓没有直接绑定到文本框(而是在顶部分层),因此该轮廓不会与文本框同步移动。因此,现在红色文本框的轮廓与文本框不同步

是否有办法保持验证UI覆盖(例如,红色文本框轮廓)与文本框保持同步(当屏幕随着屏幕键盘的外观移动时)?谢谢


<Style x:Key="AdminTextboxStyle" TargetType="TextBox">       
        <Setter Property="FontSize" Value="28" />
        <Setter Property="Validation.ErrorTemplate">
            <Setter.Value>
                <ControlTemplate x:Name="TextErrorTemplate">
                    <DockPanel LastChildFill="True">
                        <TextBlock Margin="105,15,0,0"
                                   FontSize="14"
                                   Foreground="Red" />
                        <AdornedElementPlaceholder x:Name="myControl">
                            <Border BorderBrush="{StaticResource CustomRedBrush}"
                                    BorderThickness="2"
                                    CornerRadius="5" />
                        </AdornedElementPlaceholder>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
</Style>