2012-10-07 14 views
6

Bir Windows Mağazası Uygulamasında, bir TextBlock içeriği üzerinde StrikeThrough efekti uygulamak için herhangi bir yol var mı? Eğer yoksa, bir RichTextBlock veya benzeri kontroller yapardı. XAML veya program aracılığıyla (C#) olup olmadığı önemli değil, XAML'den tercih ediyorum, bu yüzden tasarımcıda gösterilecek. StrikeThroughBir efekt üzerinde bir TextBlock

Ben Microsoft'un belgeleri arasında buldum, ama bunu nasıl kullanılacağını bilmiyorum: O sonuçta mümkün değildir görünüyor http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.text.itextcharacterformat.strikethrough.aspx

cevap

13

Windows Mağazası uygulamalarının kendi kontrolü ad (System.Ui.Xaml.Controls) var. Windows Mağazası uygulamaları için TextBlock uygulamasının bir TextDecoration özelliği olmadığını görürsünüz: TextBlock documentation.

"Tam" .Net 4.5 TextBlock'un bir TextDecoration özelliği vardır: .Net 4.5 WPF TextBlock Documentation.

Öyle gibi "hacky" bir şekilde yapabilirsiniz: ipucu için

<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

teşekkür ederiz. Margin = "0,10,0,0" yi ekledim ve satır metinden geçiyor. Ayrıca, ana hücreyi dolduracak ve metnin tamamında yer alan "HorizontalAlignment" ve "Width" özelliklerini de kaldırabilirsiniz. – dcastro

3

:

"Biz mümkün olmaz Windows 8 için XAML çerçevesinin son realese için TextDecoration sınıfını içerir. Bu, üstü çizili özelliği kullanamayacağınız anlamına gelir, ancak yine de Underline sınıfı aracılığıyla metnin altını çizebilen olacaktır. "

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

Ancak Microsoft bu konuda çalışıyor:

"Bu İşin güzel tarafı, Windows 8 geliştirici önizleme XAML metin hikayede bilinen bir sınırlama bu. yakında düzenlenecek olan ile ilgili bir alandır. Bu sorununu çözmeyi bekliyoruz. "

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

İlgili konular