none
怎么给TextBox内部的部分文字添加下划线? RRS feed

  • 问题

  • 怎么给TextBox内部的部分文字添加下划线?

    比如360浏览器的搜索框:

    一定要TextBox,不要推荐richtextbox 

    2015年2月28日 2:53

答案

  • 你好 LYGHOST,

    >>怎么给TextBox内部的部分文字添加下划线?

    WPF TextBox控件只有TextDecorations 属性可以为文字填下下划线:https://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.textdecorations(v=vs.110).aspx

    效果是全部文本会有下划线:

    如果需要部分内容有下划线,还是建议使用 RichTextBox

    或者说自己绘制 Rectangle 去模拟这个效果,像下面这样,不过需要动态调整它的位置和长度:

    <DockPanel>
                <TextBlock DockPanel.Dock="Top" x:Name="blockToUnderline" Text="Text" Width="76" />
                <Rectangle DockPanel.Dock="Top" Fill="Black" Height="1" Width="{Binding ElementName=blockToUnderline, Path=ActualWidth}" />
    </DockPanel>


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 LYGHOST 2015年3月4日 1:33
    2015年3月2日 4:47
    版主

全部回复

  • 你好 LYGHOST,

    >>怎么给TextBox内部的部分文字添加下划线?

    WPF TextBox控件只有TextDecorations 属性可以为文字填下下划线:https://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.textdecorations(v=vs.110).aspx

    效果是全部文本会有下划线:

    如果需要部分内容有下划线,还是建议使用 RichTextBox

    或者说自己绘制 Rectangle 去模拟这个效果,像下面这样,不过需要动态调整它的位置和长度:

    <DockPanel>
                <TextBlock DockPanel.Dock="Top" x:Name="blockToUnderline" Text="Text" Width="76" />
                <Rectangle DockPanel.Dock="Top" Fill="Black" Height="1" Width="{Binding ElementName=blockToUnderline, Path=ActualWidth}" />
    </DockPanel>


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 LYGHOST 2015年3月4日 1:33
    2015年3月2日 4:47
    版主
  • 谢谢,我已经找到办法了,用Adorner实现了
    2015年3月4日 1:33
  • 可以告诉我?
    2015年3月7日 14:41