none
silverlight 多行显示问题 RRS feed

  • 问题

  • 大家好,silverlight中用是什么可以实现自动折行显示,并且能够追加,而且可以可以实现追加行字体颜色变换,新手谢谢
    2009年8月4日 3:01

答案

  • xaml:
    <StackPanel x:Name="Txt" ScrollViewer.HorizontalScrollBarVisibility="Auto"/>

    C#:
    {
    TextBlock A = new TextBlock();
    A.Text = "111";
    A.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
    Txt.Children.Add(A);
    A = null;
    TextBlock B = new TextBlock();
    B.Text = "222";
    B.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
    Txt.Children.Add(B);
    B = null;
    TextBlock C = new TextBlock();
    C.Text = "333";
    C.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 0, 255));
    Txt.Children.Add(C);
    C = null;
    }

    需要换行加:A.TextWrapping=TextWrapping.Wrap
    2009年8月4日 11:01

全部回复

  • 大家好,silverlight中用是什么可以实现自动折行显示,并且能够追加,而且可以可以实现追加行字体颜色变换,新手谢谢
    listbox不能自动换行,也不能设置不同颜色,当然可能是不会
    2009年8月4日 3:11
  • TextBlock控件不能实现自动换行吗? 
    设置TextWrapping属性为Wrap可以强制换行。

    还有可以使用run内联标签不但能换行,而且格式控制很灵活的。
    例如下面语句
    <TextBlock Canvas.Top="100" Canvas.Left="100"> <Run TextDecorations="underline">helloRun</Run>
                                                                         <Run Foreground="Purple"> just for MVC</Run>
     </TextBlock>

    还有一种方法使用linebreak方法

     <TextBlock> abc <LineBreak/> ddd <LineBreak/> vvv <LineBreak/> ddds </TextBlock>

    这些应该能满足你的要求吧
    2009年8月4日 7:00
  • TextBlock控件不能实现自动换行吗? 
    设置TextWrapping属性为Wrap可以强制换行。

    还有可以使用run内联标签不但能换行,而且格式控制很灵活的。
    例如下面语句
    <TextBlock Canvas.Top="100" Canvas.Left="100"> <Run TextDecorations="underline">helloRun</Run>
                                                                         <Run Foreground="Purple"> just for MVC</Run>
     </TextBlock>

    还有一种方法使用linebreak方法

     <TextBlock> abc <LineBreak/> ddd <LineBreak/> vvv <LineBreak/> ddds </TextBlock>

    这些应该能满足你的要求吧
    谢谢答复,我的文字是在方法里动态赋值的,改增么写呢,而且是赋值多次,需要自动换行并累加,随意我还有一个要求是每次追加的字符串使用不同的颜色显示,谢谢

    2009年8月4日 8:11
  • xaml:
    <StackPanel x:Name="Txt" ScrollViewer.HorizontalScrollBarVisibility="Auto"/>

    C#:
    {
    TextBlock A = new TextBlock();
    A.Text = "111";
    A.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
    Txt.Children.Add(A);
    A = null;
    TextBlock B = new TextBlock();
    B.Text = "222";
    B.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
    Txt.Children.Add(B);
    B = null;
    TextBlock C = new TextBlock();
    C.Text = "333";
    C.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 0, 255));
    Txt.Children.Add(C);
    C = null;
    }

    需要换行加:A.TextWrapping=TextWrapping.Wrap
    2009年8月4日 11:01
  • xaml:
    <StackPanel x:Name="Txt" ScrollViewer.HorizontalScrollBarVisibility="Auto"/>

    C#:
    {
    TextBlock A = new TextBlock();
    A.Text = "111";
    A.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
    Txt.Children.Add(A);
    A = null;
    TextBlock B = new TextBlock();
    B.Text = "222";
    B.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
    Txt.Children.Add(B);
    B = null;
    TextBlock C = new TextBlock();
    C.Text = "333";
    C.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 0, 255));
    Txt.Children.Add(C);
    C = null;
    }

    需要换行加:A.TextWrapping=TextWrapping.Wrap

    感谢
    2009年8月4日 12:28
  • xaml:
    <StackPanel x:Name="Txt" ScrollViewer.HorizontalScrollBarVisibility="Auto"/>

    c#:

    Run myrun =new Run("可以使用Run对象来处理\n");
    myrun.FontWeight = FontWeights.Bold;
    TextBlock A = new TextBlock();
    A.Inlines.Add(myrun);
    Txt.Children.Add(A);

    2010年1月22日 6:06
  •          /// <summary>
            /// 为TextBlock换行
            /// </summary>
            /// <param name="source">需要换行的TextBlock</param>
            /// <param name="Text">换行字符串</param>
            public void AddRow(TextBlock source, string Text,SolidColorBrush colorbrush)
            {
                Run _run = new Run();
                _run.Text = Text;
                _run.Foreground = colorbrush;
                LineBreak _break = new LineBreak();//添加一个换行符
                source.Inlines.Add(_run);
                source.Inlines.Add(_break);
            }

           你可以设置_run的字体样式(大小、颜色、字体等)
    2010年1月24日 11:21