阅读了几篇关于使用AdornedElementPlaceholder的文章和示例后,我仍然不清楚它在XAML验证中具体起到了什么作用。
如果您使用验证,您需要向用户展示哪些内容未通过验证,这就是 AdornedElementPlaceholder
发挥作用的地方。它是一个占位符,其大小与您正在验证的 UI 元素完全相同。
假设您正在验证用户在 TextBox
上的输入,并希望在验证失败时在 TextBox
周围显示一个红色框。为 TextBox
定义 ValidationRule 和验证模板。如果 ValidationRule 失败,则在您的 TextBox
上显示 Validation.ErrorTemplate
。在模板中,AdornedElementPlaceholder
告诉 Framework 在 UI 中放置您的模板的位置。在我们的情况下,该模板可能如下所示:
<ControlTemplate>
<Border BorderBrush="Red" BorderThickness="1">
<AdornedElementPlaceholder />
</Border>
</ControlTemplate>
你应该阅读这篇文章。
表示在ControlTemplate中使用的元素,用于指定装饰控件相对于ControlTemplate中其他元素的位置。