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 下載,本實例實現效果如下圖:

         


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM