Silverlight实用窍门系列:55.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实例代码实现如下:

<Border BorderBrush= "Blue"   BorderThickness= "1"  Width= "180"  Height= "300" >
     <Canvas>
             <TextBlock Height= "49"  HorizontalAlignment= "Left"  Margin= "42,111,0,0"
                        Name= "textBlock1"  Text= "自动换行我下一句话将要换行了已经换行。"
                        VerticalAlignment= "Top"  TextWrapping= "Wrap"    Width= "120"  />
             <TextBox Height= "60"  HorizontalAlignment= "Left"  Margin= "42,192,0,0"
                      Name= "textBox1"  VerticalAlignment= "Top"
                      Text= "自动换行我下一句话将要换行了已经换行。"
                      TextWrapping= "Wrap"  AcceptsReturn= "True"   Width= "120"  />
     </Canvas>
</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代码实现如下:

复制代码
    public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.label2.Content = "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
this.textBox2.Text = "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
this.textBlock3.Text= "手动换行你下一句话将要换行了," + Environment.NewLine + "已经换行。";
}
}
复制代码

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

本文转自程兴亮博客园博客,原文链接:http://www.cnblogs.com/chengxingliang/archive/2012/02/20/2343757.html,如需转载请自行联系原作者


相关文章