我的(简化)验证模板是
<Grid>
<Border x:Name="ErrorAdorner"
BorderBrush="Red">
<AdornedElementPalceHolder />
</Border>
<Popup x:Name="ErrorPopup"
PalcementTarget="{Binding ElementName=ErrorAdorner}"
Placement="Bottom"
StaysOpen="false"
IsOpen="true">
<Grid>
<TextBloxk Text="Error!!!" />
</Grid>
</Popup>
</Grid>
装饰元素通常是文本框
我使用这种方法的问题是,只要我在文本框内单击,ErrorPopup就会消失,并且ErrorAdorner仍然可见。期望的行为是两者都应该保持可见。
事情尝试了:所以从本质上讲,我想使用弹出窗口来定位它的功能,但不知何故想要修复可见性问题
答案 0 :(得分:0)
这里的问题是你可以调整窗口的大小,即使光标位于TextBox内部,你也无法获得任何有用的状态信息,所以如果你使IsOpen
依赖于你,你仍然会脱臼弹出窗口。
可能this related question可以帮助您进行展示位置。