更新:2007 年 11 月
表示 ControlTemplate 中使用的元素,该元素用于指定修饰控件相对于 ControlTemplate 中的其他元素所放置的位置。
命名空间: System.Windows.Controls
程序集: PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation
[ContentPropertyAttribute("Child")] public class AdornedElementPlaceholder : FrameworkElement, IAddChild
/** @attribute ContentPropertyAttribute("Child") */ public class AdornedElementPlaceholder extends FrameworkElement implements IAddChild
public class AdornedElementPlaceholder extends FrameworkElement implements IAddChild
<AdornedElementPlaceholder/>
仅当创建用作自定义验证 ErrorTemplate 的 ControlTemplate 以便在用户输入无效时提供可见反馈时,才使用此类。
例如,您可能希望当输入无效时在文本框的旁边显示红色感叹号,如下图所示。
下面的示例演示如何将 ControlTemplate 和 AdornedElementPlaceholder 一起使用以创建前面插图中的经过装饰的 TextBox。
<ControlTemplate x:Key="validationTemplate"> <DockPanel> <TextBlock Foreground="Red" FontSize="20">!</TextBlock> <AdornedElementPlaceholder/> </DockPanel> </ControlTemplate>
AdornedElementPlaceholder 元素指定要装饰的控件(在本例中为 TextBox)应放置的位置。
然后可以将模板指定为 TextBox 的 ErrorTemplate,如下面的示例所示。
<TextBox Name="StartDateEntryForm" Grid.Row="3" Grid.Column="1" Validation.ErrorTemplate="{StaticResource validationTemplate}" Style="{StaticResource textStyleTextBox}" Margin="8,5,0,5"> <TextBox.Text> <Binding Path="StartDate" UpdateSourceTrigger="PropertyChanged" Converter="{StaticResource dateConverter}" > <Binding.ValidationRules> <src:FutureDateRule /> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox>