我爲TextBox聲明瞭一個簡單的Validation.ErrorTemplate,如下所示。在Validation.ErrorTemplate中綁定TextBlock的FontSize
<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>
我想到的是感嘆號的字體大小將是相同的字體(編輯)大小,文本框,但它不會導致預期始終得到默認的字體大小。此外,我嘗試使用RelativeSource={RelativeSource Mode=TemplatedParent}, Path=FontSize
Binding,但它也不能解決問題。爲什麼會出現這種情況?我怎樣才能讓感嘆號獲得與TextBox相同的大小?
你的任務有點模棱兩可。您是否嘗試綁定到應用於文本框的字體大小,還是嘗試綁定到文本框的大小?如果前者在文本框中應用了不同的字體大小? – CBRRacer
@CBRRacer:這個問題不是你提到的。我打算當「文本框」的文本無效時,感嘆號出現在文本框的右側,感嘆號的字體大小與文本框的字體大小相同。 –