我正在构建一个 WPF 应用程序,其中有一个
TextBox
。要对其应用圆角,here我读到我需要使用 ScrollViewer
内的 Border
创建特定样式。到目前为止一切顺利,但我想应用 MahApps 的 TextBoxHelper
类的功能,它可以让你使用以下内容:
<TextBox controls:TextboxHelper.Watermark="I’m a watermark"/>
在
TextBox
内显示水印。问题是我不明白如何将样式(使用我链接到的文章中的建议)与 MahApps 结合起来。我尝试过类似的事情:
<Style TargetType="TextBox" x:Key="myKey">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border x:Name="border" CornerRadius="10">
<ScrollViewer x:Name="PART_ContentHost"
Focusable="false"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
ctrl:TextboxHelper.Watermark="true"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是水印不显示。
如果您想使用 MahApps 中的相同样式,则可以使用
ControlsHelper.CornerRadius
附加属性来解决此问题:
<TextBox controls:TextboxHelper.Watermark="I’m a watermark"
controls:ControlsHelper.CornerRadius="10" />