【发布时间】:2011-09-26 12:47:01
【问题描述】:
我为 TextBox 声明了一个简单的 Validation.ErrorTemplate,如下所示。
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="True">
<TextBlock Text="!" DockPanel.Dock="Right"
FontSize="{TemplateBinding TextBox.FontSize}"
Foreground="Red"/>
<AdornedElementPlaceholder Name="adornerPlaceholder" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我希望感叹号的字体大小与 TextBox 的 font(edited) 大小相同,但它不会导致预期并始终获得默认字体大小。此外,我尝试使用RelativeSource={RelativeSource Mode=TemplatedParent}, Path=FontSize 进行绑定,但它也无法解决问题。为什么会出现这种情况?如何让感叹号和TextBox一样大?
【问题讨论】:
-
你的任务有点模棱两可。您是要绑定到应用于文本框的字体大小还是要绑定到文本框的大小?如果是前者,您是否对文本框应用了不同的字体大小?
-
@CBRRacer:这个问题不是你提到的。我打算当
TextBox的文本无效时,TextBox右侧会出现一个感叹号,并且感叹号的字体大小与TextBox的字体大小相同。
标签: c# .net wpf xaml errortemplate