WPF textbox 圆角
时间: 2023-07-15 15:13:19 浏览: 139
要给 WPF 中的 TextBox 添加圆角,可以使用 Border 控件包装 TextBox,并在其 CornerRadius 属性中指定所需的值。以下是一个示例:
```xml
<Border CornerRadius="10" BorderThickness="1" BorderBrush="Gray">
<TextBox Text="Hello, world!" Padding="5"/>
</Border>
```
此示例将 TextBox 包装在一个圆角为 10 像素的边框中,并将其内边距设置为 5 像素以使文本不会与边框重叠。如果需要更复杂的样式,可以使用 ControlTemplate 或样式来自定义 TextBox 的外观。
相关问题
wpf textbox 圆角
要给 WPF 中的 TextBox 添加圆角,可以使用 Border 控件包装 TextBox,并在其 CornerRadius 属性中指定所需的值。以下是一个示例:
```xml
<Border CornerRadius="10" BorderThickness="1" BorderBrush="Gray">
<TextBox Text="Hello, world!" Padding="5"/>
</Border>
```
此示例将 TextBox 包装在一个圆角为 10 像素的边框中,并将其内边距设置为 5 像素以使文本不会与边框重叠。如果需要更复杂的样式,可以使用 ControlTemplate 或样式来自定义 TextBox 的外观。
wpf textbox 样式
以下是一个简单的 WPF Textbox 样式示例:
```xml
<Style x:Key="CustomTextboxStyle" TargetType="{x:Type TextBox}">
<Setter Property="Padding" Value="5"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="Gray"/>
<Setter Property="Background" Value="White"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Height" Value="30"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="5">
<Grid>
<ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
<TextBlock Text="{TemplateBinding Text}"
Foreground="Transparent"
Margin="5,0,0,0"
VerticalAlignment="Center"
FontFamily="{TemplateBinding FontFamily}"
FontSize="{TemplateBinding FontSize}"
IsHitTestVisible="False"
IsVisibleChanged="TextBlock_IsVisibleChanged"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5"/>
<Setter Property="Background" Value="Gray"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="Black"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="Blue"/>
<Setter Property="Background" Value="LightBlue"/>
</Trigger>
<Trigger Property="IsVisible" Value="True">
<Setter Property="Visibility" TargetName="PART_ContentHost" Value="Collapsed"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
```
你可以在 `TextBox` 中使用这个样式,如下所示:
```xml
<TextBox Style="{StaticResource CustomTextboxStyle}"/>
```
这个样式会将 TextBox 的外观修改为带圆角边框的白色背景,并且在文本框中添加了一个 TextBlock,使得文本可以在 TextBox 中自动换行。另外,当鼠标悬停在 TextBox 上时,边框颜色会变为黑色,当 TextBox 获得焦点时,边框颜色会变为蓝色,背景颜色会变为浅蓝色。当 TextBox 失去焦点时,文本框会隐藏,以便在用户输入时不会遮挡文本。
阅读全文