zoukankan      html  css  js  c++  java
  • WPF TextBox控件中文字实现垂直居中

    TextBox纵向长度比较长但文字字体比较小的时候,在输入时就会发现文字不是垂直居中的。

    而使用中我们发现,TextBox虽然可以设置文字的水平对齐方式,但却没有相应的属性让我们来调节他的垂直对齐方式。好在TextBox继承自Control类,可以通过修改Template模板来改变他的属性样式(TextBlock继承自FrameworkElement,不可进行模板编辑)。

     1 <Style x:Key="Test_TextBox" TargetType="{x:Type TextBox}">
     2 <Setter Property="Template">
     3 <Setter.Value>
     4 <ControlTemplate TargetType="{x:Type TextBox}">
     5 <Border x:Name="border" Width="Auto" Height="Auto" BorderThickness="1" BorderBrush="#FF7F9DB9">
     6 <Grid x:Name="grid" Background="#FFFFFF">
     7 <ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center" HorizontalAlignment="Left"/>
     8 </Grid>
     9 </Border>
    10 </ControlTemplate>
    11 </Setter.Value>
    12 </Setter>
    13 </Style>


    最后应用一下样式可以了。

    PS:

    内容宿主 是用来呈现 TextBox 内容的元素。TextBox 的 ControlTemplate 必须仅包含一个标记为内容宿主元素的元素。 若要将某个元素标记为内容宿主,应为它指定特殊名称 PART_ContentHost。 内容宿主元素必须为 ScrollViewer 或 AdornerDecorator。 内容宿主元素可能不会承载任何子元素。

  • 相关阅读:
    [Leetcode] 225. Implement Stack using Queues
    前端面试题2
    数据结构_stack
    数据结构 station
    数据结构_wow(泡泡的饭碗)
    数据结构_XingYunX(幸运儿)
    数据结构 nxd(顺序对)
    数据结构 hbb(汉堡包)
    数据结构 elegant_sequence(优雅的序列)
    数据结构 i_love(我喜欢)
  • 原文地址:https://www.cnblogs.com/yanglang/p/9923775.html
Copyright © 2011-2022 走看看