2011-10-20 14 views
5

TargetType: TexBlock için TextDecorations bağımlılık özelliğini ayarlayan bir WPF stiline sahibim. Aynı tarzı, bazı TextBlock'larda bulunan ve yukarıda belirtilen stili kullanmayan belirli Run öğeleri için kullanmam gerekir. Aynı stili farklı bir TargetType ile tekrar etmeden bunu nasıl başarabilirim?TextBlock ve Run öğesi için aynı stili kullanın

<Style x:Key="CommonStyle"> 
    <Setter Property="Inline.TextDecorations" Value="StrikeThrough" /> 
</Style> 
artık ayrı BasedOn kullanabilirsiniz tarzı geliştirmek istiyorsanız
<TextBlock Style="{StaticResource CommonStyle}" Text="Lorem Ipsum" /> 
<TextBlock> 
    <Run Style="{StaticResource CommonStyle}" Text="Lorem" /> 
    <Run Text="Ipsum" /> 
</TextBlock> 

, bu da söz konusu stil örtülü uygulamasını sağlar:

cevap

5

Sadece örneğin bir TargetType belirtmek ancak mülk uygun nitelikte olmayan türetilmiş stilde bir anahtar ayarlamayın.

+0

Vay. Ben de aynı şeyi denedim, ancak 'Property = "Inline.TextDecorations" 'yerine Property =" TextDecorations "' i ayarladım ve" FrameworkElement içermiyor ... "hatasını aldım. "Satır İçi" ekleme. Gerçekten çalışıyor. –

+0

Bunu sağlayan altta yatan mekanizma ile ilgileniyorum, biraz ışık ya da bazı bağlantılar bırakabilir misiniz? –

+0

@ H.B. - Kodu yansıtmadan bunu tespit etmenin bir yolu var mı? 'TextBlock.TextDecorations' 'Inline.TextDecorations' '' kaçırır '' bir yerde MSDN'de belirtildi mi? –

İlgili konular