文本框样式化

4
每当我尝试为文本框应用样式时,它就变得对用户输入无响应。您能告诉我解决方法吗?这是我使用的XAML代码:
```xaml ```
<Style x:Key="textbox"
       TargetType="TextBox">
  <Setter Property="OverridesDefaultStyle"
          Value="True" />
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="TextBox">
        <Border BorderThickness="3"
                Background="{TemplateBinding Background}"
                Name="border">
          <ContentPresenter HorizontalAlignment="Center"
                            VerticalAlignment="Center" />
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsMouseOver"
                   Value="True">
            <Setter TargetName="border"
                    Property="BorderBrush"
                    Value="#9E5971" />
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

哦,顺便说一下,无论它是否可聚焦,我得到的都是同样的东西。 - Andrei Diaconu
我删除了那行代码,但它仍然无法正常工作。 - Andrei Diaconu
1个回答

6

替换

<ContentPresenter
    HorizontalAlignment="Center" VerticalAlignment="Center" />

使用

<ScrollViewer
    x:Name="PART_ContentHost"
    SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>

ScrollViewer命名为PART_ContentHost是任何TextBox控件模板的必要部分。您应该使用默认的WPF控件样式和模板作为参考,而不是自己设计模板。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接