天天看點

windows phone (19) 深入了解TextBlockMediaElement

<a href="http://msdn.microsoft.com/zh-cn/library/system.windows.controls.textblock%28v=vs.95%29.aspx" target="_blank"></a>

<a href="http://msdn.microsoft.com/zh-cn/library/system.windows.controls.textblock%28v=vs.95%29.aspx" target="_blank"> TextBlock</a>

LineBreak  新起一行,是換行标簽

&lt;Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"&gt; 

            &lt;TextBlock x:Name="tbShow" Text="文字示例" Foreground="White"    VerticalAlignment="Center" HorizontalAlignment="Center"&gt; 

                &lt;TextBlock.Inlines&gt; 

                    &lt;Run Foreground="Blue" Text="ddd"  &gt;&lt;/Run&gt; 

                &lt;/TextBlock.Inlines&gt; 

            &lt;/TextBlock&gt; 

        &lt;/Grid&gt; 

 可以看到我們在Run标簽和TextBlock标簽都設定的前景色和顯示的文字,可是效果如何那,效果:

 是以我們确定如果TextBlock标簽和TextBlock标簽内定義Run标簽的屬性相重複時,兩者的屬性互不相幹,但是Run設定的顯示文本在TextBlock屬性Text之後,要把程式運作起來,設計器直接看會是這樣的錯誤結果,

 再看下面的例子,我們對Run标簽的一些屬性進行了一些羅列:

&lt;!--ContentPanel - 在此處放置其他内容--&gt; 

       &lt;Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"&gt; 

           &lt;TextBlock x:Name="tbShow" Text="文字示例" Foreground="White"    VerticalAlignment="Center" HorizontalAlignment="Center"&gt; 

               &lt;Run Foreground="Blue"&gt;前景色Blue&lt;/Run&gt;&lt;LineBreak&gt;&lt;/LineBreak&gt; 

                &lt;Run FontStyle="Italic"&gt;字型樣式Italic&lt;/Run&gt;&lt;LineBreak&gt;&lt;/LineBreak&gt; 

               &lt;Run  FontSize="30"&gt;字型30&lt;/Run&gt;&lt;LineBreak&gt;&lt;/LineBreak&gt; 

               &lt;Run  TextDecorations="Underline"&gt;下劃線&lt;/Run&gt;&lt;LineBreak&gt;&lt;/LineBreak&gt; 

                 &lt;Run  TextDecorations="Underline" 

                        FontSize="30" 

                       FontStyle="Italic" 

                       Foreground="Blue" 

                       Text="綜合" &gt;&lt;/Run&gt;&lt;LineBreak&gt;&lt;/LineBreak&gt; 

           &lt;/TextBlock&gt; 

       &lt;/Grid&gt; 

 實作的是這樣的效果:

案例代碼:

        &lt;Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"&gt; 

            &lt;TextBlock x:Name="tbShow"  Foreground="White" 

                       VerticalAlignment="Center" HorizontalAlignment="Center" 

                       Text="π表示3.14" 

                       &gt; 

 它實作的效果是:

還比如。表示句号(。), 表示回車, 表示換行,當然你可以看出格式都差不多,可以更改最後一個字母或數字看看變成什麼,比如

〇是一個圓圈;當用到換行的時候,我們可以設定TextBlock的屬性TextWrapping="Wrap",該屬性表示在顯示文本超過容器所限制的寬度時,文本會自動換行;

也可以設定文本對齊方式,TextAlignment屬性可以甚至為:left,right,center;

如果你在textblock設定了fontfamily屬性,并且名字寫錯的話,不會造成什麼後果,系統會使用預設的字型 ,但是從隐藏檔案擷取字型的話還是擷取到的是錯誤字型;

 表示的是播放媒體,目前支援mp4,wma,mp3,wmv(ps:我剛剛從優酷找到一個swf格式的不支援),MediaElement的屬性AutoPlay屬性預設為True,是以當視訊緩沖到可以播放的時候,視訊會自動播放

 參考書上的位址設定了播放源,xaml代碼如下

       &lt;Grid x:Name="ContentPanel" Background="AntiqueWhite" Grid.Row="1" Margin="12,0,12,0"&gt; 

           &lt;MediaElement Source="http://www.charlespetzold.com/Media/Walrus.wmv" &gt;&lt;/MediaElement&gt; 

 在播放途中截圖:

本文轉自shenzhoulong  51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/842815,如需轉載請自行聯系原作者

繼續閱讀