【问题标题】:Single line textbox template in WPF with flat borderWPF中带有平面边框的单行文本框模板
【发布时间】:2014-07-04 18:41:58
【问题描述】:

我正在尝试在 WPF 中创建一个文本框模板,该模板具有单行文本和平坦(非 3d)边框。如果文本对于该字段来说太大,它应该水平滚动而不显示滚动条(如浏览器中的地址或搜索栏。)但是使用我的代码,当文本比文本框宽时,它仍然会转到一个新的线。我的xml如下:

<Style TargetType="TextBox" x:Key="SingleLineTextBox">
    <Setter Property="Foreground" Value="Black"/>
    <Setter Property="Background" Value="White"/>
    <Setter Property="CaretBrush" Value="Black"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TextBox">
                <Border SnapsToDevicePixels="True" BorderThickness="1" BorderBrush="Gray" Background="White">
                    <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Hidden" />
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

谁能告诉我这里缺少什么?

【问题讨论】:

  • 您的样式在这里工作正常。您是否已将 textwrapping 属性分配给文本框 ?尝试设置 TextWrapping="NoWrap"
  • 是的,就是这样! WPF 的新手,所以完全错过了这一点。谢谢

标签: wpf xaml


【解决方案1】:

尝试设置 TextWrapping="NoWrap"

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多