2012-10-07 30 views
6

在Windows應用商店應用中,有什麼方法可以對TextBlock的內容應用StrikeThrough效果?如果沒有,RichTextBlock或任何類似的控件都可以。不管它是通過XAML還是編程方式(C#)都沒關係,但我更願意通過XAML,以便它能在設計器中顯示。StrikeThrough對TextBlock的影響

我發現這個微軟的文檔中,但我不知道如何使用它: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.text.itextcharacterformat.strikethrough.aspx

回答

13

的Windows Store應用程序可以有自己的控制命名空間(System.Ui.Xaml.Controls)。您將看到Windows應用商店應用程序的TextBlock沒有TextDecoration屬性:TextBlock documentation

「完整」.Net 4.5 TextBlock具有TextDecoration屬性:.Net 4.5 WPF TextBlock Documentation

你可以像這樣的「哈克」的方式做到這一點:

<Grid Height="30"> 
     <TextBlock Text="This is a test" FontSize="22" Height="34" HorizontalAlignment="Center" Foreground="White" /> 
     <Line Stretch="Fill" Stroke="white" StrokeThickness="2 " X1="1" Width="120" VerticalAlignment="Center" HorizontalAlignment="Center" /> 
    </Grid> 
+1

謝謝你的提示。我添加了一個'Margin =「0,10,0,0」',該行在文本中顯示。還刪除了「Horizo​​ntalAlignment」和「Width」屬性,使其填充父單元格並遍歷整個文本。 – dcastro

3

現在看來,這畢竟是不可能的:

「,我們將無法包含TextDecoration類的最終 對Windows 8的XAML框架的回收。這意味着您將 無法使用刪除線功能,但您仍然可以通過下劃線類下劃線文本 。

http://social.msdn.microsoft.com/Forums/en-CA/winappswithcsharp/thread/cba0c363-60da-4e4e-9fc1-93f7c3658aff

但是,微軟正在此:

「這是XAML文本故事一個已知的限制在Windows 8 開發者預覽版在光明的一面這一點。是一個有計劃的 改進發生在未來的地區,我們期望解決這個 問題。「

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/d5362fe2-48f6-448d-92ae-25216345c46d