【发布时间】:2013-07-01 14:40:34
【问题描述】:
所以,我为每个控件和 ValidationErrorTemplate 获得了一个巨大的样式模板字典。问题是,当控件上方没有位置时,我们应该在控件下方显示验证错误。基本上用于窗口顶部的控件。对于窗口底部的控件,验证应显示在控件上方。
因为它是一个定义了每种样式的资源字典,所以没有代码隐藏,而且没有数据绑定是可能的。
一个想法是确定AdornedElementPlaceholder 的位置并分别隐藏/显示模板。但我在 XAML 中没有找到任何解决方案。
<ControlTemplate x:Key="ValidationErrorTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Border>
<AdornedElementPlaceholder />
</Border>
</Grid>
<AdornerDecorator Grid.Row="????">
<Border >
<!-- some style comes here ... -->
</Border>
</AdornerDecorator>
</Grid>
</ControlTemplate>
Grid.Row="????" 应为 0 或 1,具体取决于控件的顶部。
【问题讨论】:
标签: c# wpf validation controltemplate resourcedictionary