TextBlock
一般用於顯示文本的元素,我們最為經常用到的是該類的Text屬性,其實顯示文本有兩種呈現方式,一個是設定內部文本Text,另一種就是在Inlines 集合中建立一個新的 Run 對象和LineBreak對象,我們稱之為內聯文本;【作者:神舟龍】
Run 標籤內容成為 Text 屬性的值,該類具有TextBlock類所具有的部分屬性,比如FontFamily,FontSize,FontStretch,Foregroud等等;
LineBreak 新起一行,是換列標籤
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock x:Name="tbShow" Text="文字樣本" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock.Inlines>
<Run Foreground="Blue" Text="ddd" ></Run>
</TextBlock.Inlines>
</TextBlock>
</Grid>
可以看到我們在Run標籤和TextBlock標籤都設定的前景色彩和顯示的文字,可是效果如何那,效果:
所以我們確定如果TextBlock標籤和TextBlock標籤內定義Run標籤的屬性相重複時,兩者的屬性互不相干,但是Run設定的顯示文本在TextBlock屬性Text之後,要把程式運行起來,設計器直接看會是這樣的錯誤結果,
再看下面的例子,我們對Run標籤的一些屬性進行了一些羅列:
<!--ContentPanel - 在此處放置其他內容-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock x:Name="tbShow" Text="文字樣本" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Foreground="Blue">前景色彩Blue</Run><LineBreak></LineBreak>
<Run FontStyle="Italic">字型樣式Italic</Run><LineBreak></LineBreak>
<Run FontSize="30">字型30</Run><LineBreak></LineBreak>
<Run TextDecorations="Underline">底線</Run><LineBreak></LineBreak>
<Run TextDecorations="Underline"
FontSize="30"
FontStyle="Italic"
Foreground="Blue"
Text="綜合" ></Run><LineBreak></LineBreak>
</TextBlock>
</Grid>
實現的是這樣的效果:
上面介紹到的是Inlines 集合的內聯文本,這是說說TextBlock屬性Text的一些特殊用法
案例代碼:
<!--ContentPanel - 在此處放置其他內容-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock x:Name="tbShow" Foreground="White"
VerticalAlignment="Center" HorizontalAlignment="Center"
Text="π表示3.14"
>
</TextBlock>
</Grid>
它實現的效果是:
還比如。表示句號(。),
表示斷行符號,
表示換行,當然你可以看出格式都差不多,可以更改最後一個字母或數字看看變成什麼,比如
〇是一個圓圈;當用到換行的時候,我們可以設定TextBlock的屬性TextWrapping="Wrap",該屬性工作表示在顯示文本超過容器所限制的寬度時,文本會自動換行;
也可以設定文本對齊,TextAlignment屬性可以甚至為:left,right,center;
如果你在textblock設定了fontfamily屬性,並且名字寫錯的話,不會造成什麼後果,系統會使用預設的字型 ,但是從隱藏檔案擷取字型的話還是擷取到的是錯誤字型;
MediaElement
表示的是播放媒體,目前支援mp4,wma,mp3,wmv(ps:我剛剛從優酷找到一個swf格式的不支援),MediaElement的屬性AutoPlay屬性預設為True,所以當視頻緩衝到可以播放的時候,視頻會自動播放
參考書上的地址設定了播放源,xaml代碼如下
<!--ContentPanel - 在此處放置其他內容-->
<Grid x:Name="ContentPanel" Background="AntiqueWhite" Grid.Row="1" Margin="12,0,12,0">
<MediaElement Source="http://www.charlespetzold.com/Media/Walrus.wmv" ></MediaElement>
</Grid>
在播放途中:
話說這就是Charles Petzold,不管怎樣感謝他帶給我們的知識,也可訪問他本人的網站http://www.charlespetzold.com/