经过几篇文章和实例展示了
的用法AdornedElementPlaceholder
我仍然感到困惑的是,它为xaml验证所包含的确切功能是什么?
答案 0 :(得分:9)
如果您使用验证,则需要向用户显示验证失败的位置(以及AdornedElementPlaceholder
发挥作用的位置)。它是一个占位符,与您正在验证的UIElement的大小完全相同。
假设您正在验证TextBox
上的用户输入,并希望在验证失败时在TextBox
周围显示一个红色框。为TextBox
定义ValidationRule和验证模板。如果ValidationRule失败,则Validation.ErrorTemplate
上会显示TextBox
。在模板内部,AdornedElementPlaceholder
告诉框架将模板放在UI上的位置。在我们的例子中,模板可能如下所示:
<ControlTemplate>
<Border BorderBrush="Red" BorderThickness="1">
<AdornedElementPlaceholder />
</Border>
</ControlTemplate>
您应该阅读this article。
答案 1 :(得分:0)
我相信AdornedElementPlaceholder用于显示“验证指标元素”相对于要验证的控件的位置。 即如果你有一个文本框,当验证失败时,框的右边会出现一个红色的x,我相信(尽管不是100%)AdornedElementPlaceholder负责这个定位。
表示ControlTemplate中用于指定a的位置的元素 装饰控件相对于其他元素放置 的ControlTemplate。