How to display the text in one line in wpf textblock

后端 未结 2 1717
情歌与酒
情歌与酒 2021-01-12 07:47

I\'m a newbie with wpf , what i want to display the text in one line in wpf textblock. eg.:



        
相关标签:
2条回答
  • 2021-01-12 07:53

    Use a Converter:

        <TextBlock Text={Binding Path=TextPropertyName,
    Converter={StaticResource SingleLineTextConverter}}
    

    SingleLineTextConverter.cs:

    public class SingleLineTextConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string s = (string)value;
            s = s.Replace(Environment.NewLine, " ");
            return s;
        }
    
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
    
    0 讨论(0)
  • 2021-01-12 08:02

    Instead of this:

                <TextBlock Text="Hello
                    How Are
                    You??"/>
    

    Use this:

                <TextBlock>
                    Hello
                    How Are
                    You??
                </TextBlock>
    

    or this:

                <TextBlock>
                    <Run>Hello</Run> 
                    <Run>How Are</Run> 
                    <Run>You??</Run>
                </TextBlock>
    

    or set Text property in code behind like this :

    (In XAML)

                <TextBlock x:Name="MyTextBlock"/>
    

    (In code - c#)

                MyTextBlock.Text = "Hello How Are You??"
    

    Code-behind approach has an advantage that you can format your text before setting it. Example: If the text is retrieved from a file and you want to remove any carriage-return new-line characters you can do it this way:

     string textFromFile = System.IO.File.ReadAllText(@"Path\To\Text\File.txt");
     MyTextBlock.Text = textFromFile.Replace("\n","").Replace("\r","");
    
    0 讨论(0)
提交回复
热议问题