• Silverlight中的Label、TextBlock、TextBox多种换行方式


     在Silverlight中我们使用Label、TextBlock、TextBox等控件的时候经常会遇到换行的问题,在这里我们以这三个典型的控件来看看换行方式。在本文中我们把换行方式分为自动换行和手动换行来看。

    自动换行

            Label控件在Silverlight中不支持自动换行。

            TextBlock和TextBox可以通过设置TextWrapping="Wrap"属性让文字超过控件宽度时自动换行。

    手动换行

            Label、TextBlock、TextBox控件都可以在后台中使用Environment.NewLine属性来手动换行。

             TextBlock可以在Xaml代码中使用<LineBreak>标签来手动换行。

             如果想要再TextBlock框中使用回车键的方式换行输入文字,则需要设置AcceptsReturn="True"属性。

             首先我们看自动换行的Xaml实例代码实现如下:

     1 <Border BorderBrush="Blue"  BorderThickness="1" Width="180" Height="300">
     2 
     3     <Canvas>
     4 
     5             <TextBlock Height="49" HorizontalAlignment="Left" Margin="42,111,0,0"
     6 
     7                        Name="textBlock1" Text="自动换行我下一句话将要换行了已经换行。"
     8 
     9                        VerticalAlignment="Top" TextWrapping="Wrap"   Width="120" />
    10 
    11             <TextBox Height="60" HorizontalAlignment="Left" Margin="42,192,0,0"
    12 
    13                      Name="textBox1" VerticalAlignment="Top"
    14 
    15                      Text="自动换行我下一句话将要换行了已经换行。"
    16 
    17                      TextWrapping="Wrap" AcceptsReturn="True"  Width="120" />
    18 
    19     </Canvas>
    20 
    21 </Border>

      其次我们来看手动换行的Xaml实例代码如下:

    <Border BorderBrush="Blue" Margin="300 0 50 50" BorderThickness="1" Width="180" Height="300">
    
        <Canvas>
    
                <sdk:Label Height="45" HorizontalAlignment="Left" Margin="42,10,0,0"
    
                         Name="label2" VerticalAlignment="Top" Width="220" />
    
                <TextBlock Height="45" HorizontalAlignment="Left" Margin="42,60,0,0"
    
                           Name="textBlock2" Text=""
    
                           VerticalAlignment="Top"   Width="178" >
    
                    <Run>手动换行你下一句话将要换行了,</Run>
    
                    <LineBreak/>
    
                    <Run>已经换行。</Run>
    
                </TextBlock>
    
                <TextBlock Height="45" HorizontalAlignment="Left" Margin="42,110,0,0"
    
                         VerticalAlignment="Top" Name="textBlock3" Text="" Width="178"></TextBlock>
    
     
    
                <TextBox Height="45" HorizontalAlignment="Left" Margin="42,160,0,0"
    
                         Name="textBox2" VerticalAlignment="Top"
    
                         AcceptsReturn="True"   Width="210" >
    
                     
    
                </TextBox>
    
            </Canvas>
    
        </Border>
    

       最后我们看手动换行的Xaml.cs代码实现如下:

     1 public partial class MainPage : UserControl
     2     {
     3         public MainPage()
     4         {
     5             InitializeComponent();
     6             this.label2.Content = "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
     7             this.textBox2.Text = "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
     8             this.textBlock3.Text= "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
     9         }
    10     }

      如需本文源码请点击 SLTest.zip 下载,本实例实现效果如下图:

            本文出处:http://www.cnblogs.com/chengxingliang/archive/2012/02/20/2343757.html(非常感谢)

  • 相关阅读:
    标准库类型string
    auto与decltype
    理解复合类型的声明
    复合类型
    标识符and名字的作用域
    tar 命令详解(持续更新)
    Linux中的update和upgrade的作用
    mysql中文乱码
    Linux 安装MySql——apt-get版
    Linux mysql开启远程访问
  • 原文地址:https://www.cnblogs.com/zxbzl/p/2961421.html
Copyright © 2020-2023  润新知