在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,如需转载请自行联系原作者