微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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实例代码实现如下:

    
    
  1. <Border BorderBrush="Blue"  BorderThickness="1" Width="180" Height="300"
  2.     <Canvas> 
  3.             <TextBlock Height="49" HorizontalAlignment="Left" Margin="42,111,0" 
  4.                        Name="textBlock1" Text="自动换行我下一句话将要换行了已经换行。" 
  5.                        VerticalAlignment="Top" textwrapping="Wrap"   Width="120" /> 
  6.             <TextBox Height="60" HorizontalAlignment="Left" Margin="42,192,0" 
  7.                      Name="textBox1" VerticalAlignment="Top" 
  8.                      Text="自动换行我下一句话将要换行了已经换行。" 
  9.                      textwrapping="Wrap" AcceptsReturn="True"  Width="120" /> 
  10.     </Canvas> 
  11. </Border> 
        其次我们来看手动换行的Xaml实例代码如下:
    
    
  1. <Border BorderBrush="Blue" Margin="300 0 50 50" BorderThickness="1" Width="180" Height="300"
  2.     <Canvas> 
  3.             <sdk:Label Height="45" HorizontalAlignment="Left" Margin="42,10,0" 
  4.                      Name="label2" VerticalAlignment="Top" Width="220" /> 
  5.             <TextBlock Height="45" HorizontalAlignment="Left" Margin="42,60,0" 
  6.                        Name="textBlock2" Text="" 
  7.                        VerticalAlignment="Top"   Width="178" > 
  8.                 <Run>手动换行你下一句话将要换行了,</Run> 
  9.                 <LineBreak/> 
  10.                 <Run>已经换行。</Run> 
  11.             </TextBlock> 
  12.             <TextBlock Height="45" HorizontalAlignment="Left" Margin="42,110,0" 
  13.                      VerticalAlignment="Top" Name="textBlock3" Text="" Width="178"></TextBlock> 
  14.   
  15.             <TextBox Height="45" HorizontalAlignment="Left" Margin="42,160,0" 
  16.                      Name="textBox2" VerticalAlignment="Top" 
  17.                      AcceptsReturn="True"   Width="210" > 
  18.                   
  19.             </TextBox
  20.         </Canvas> 
  21.     </Border> 

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

 

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐