【问题标题】:wpf font background in textbox文本框中的wpf字体背景
【发布时间】:2012-12-17 16:07:20
【问题描述】:

是否可以在 wpf 文本框中有字体背景? 我不想更改文本框背景。 当用户输入文本时,字体背景应该对用户有帮助,例如看到一个空格字符。 问题: 如果文本框仅包含空格字符,您将看不到它。只有当光标聚焦时,它才会被光标注意到。 如何在 wpf 文本框中设置 FONT 背景(而不是 TextBox 背景)?

【问题讨论】:

标签: wpf fonts background textbox


【解决方案1】:

我通过创建 2 色文本框背景画笔解决了这个问题。第一种颜色(字体背景)的像素宽度取决于文本像素宽度。第二种颜色(白色)填充文本框背景的其余部分。画笔是在 textchanged 事件处理程序中创建的。工作正常!

【讨论】:

    【解决方案2】:

    字体在 WPF 中不是可视对象,因此在任何与字体相关的属性上都没有可以执行您想要执行的操作的属性。相反,您应该将文本包装在 Border 对象中,并将其放置在容器中,该容器会自动将其调整为最小尺寸:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Border Background="Orange" Width="Auto" Grid.Column="0" Grid.Row="0">
            <TextBox>Text Goes Here</TextBox>
        </Border>
    </Grid>
    

    【讨论】:

    • 文本放在这里
    • 所以在我的情况下,我会添加一个可编辑的文本框。自动调整大小效果很好,但如果根本没有字符,您将始终具有橙色背景的标准宽度。这样您就无法区分空格字符或空文本框。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2013-01-15
    • 2010-12-27
    • 1970-01-01
    • 2014-11-22
    • 2018-04-14
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多