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.aspxcevap
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>
:
"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. "
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. "
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