2012-11-07 33 views
9

पर WPF टेक्स्टब्लॉक स्टाइल अंडरलाइन सरल प्रश्न। क्या निम्नलिखित WPF C# कोड कुछ वजन कम कर सकते हैं? मेरा मतलब है, डब्ल्यूटीएफ, ओह ... मेरा मतलब डब्ल्यूपीएफ है, एक आओ। क्या आपने हर सीएसएस देखा है? जब मैं माउस के साथ एक लिंक की तरह होवर करता हूं तो मैं केवल पाठ को रेखांकित करना चाहता हूं। क्या मुझे वास्तव में इसके लिए 9 लाइनें जोड़नी है?माउस होवर

<TextBlock x:Name="Cassette_tblPrintLabel" Text="Print Label" Canvas.Left="154" Canvas.Top="215" Foreground="#FF3355FF" Cursor="Hand" MouseDown="Cassette_lblPrintLabel_MouseDown"> 
    <TextBlock.Style> 
     <Style TargetType="TextBlock"> 
      <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="TextBlock.TextDecoration" Value="Underline" /> 
      </Trigger> 
      </Style.Triggers> 
     </Style> 
    </TextBlock.Style> 
</TextBlock> 

अग्रिम धन्यवाद!

+1

WPF शैलियों को निगलना के लिए उपरोक्त। – Skrymsli

उत्तर

13

शैली को संसाधन के रूप में जोड़ें; तो कम से कम आप इसे फिर से उपयोग कर सकते हैं। मुझे लगता है कि आप सबसे अच्छा कर सकते हैं।

<Application.Resources> 
    <Style TargetType="TextBlock" x:Key="HoverUnderlineStyle"> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="TextBlock.TextDecorations" Value="Underline" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Application.Resources> 

<TextBlock Style="{StaticResource HoverUnderlineStyle}" /> 
+0

यह वास्तव में कोड क्लीनर रखता है। चूंकि कोई विकल्प नहीं हो सकता है, इसलिए मैं इसे उत्तर के रूप में स्वीकार करूंगा। –

+4

टेक्स्टडिक्शनेशन टेक्स्ट डिकोरेशन होना चाहिए, अन्यथा संकलक – lvmeijer

+0

शिकायत करता है मुझे आश्चर्य है कि यह एक संलग्न संपत्ति या व्यवहार के साथ कैसे किया जा सकता है। संलग्न संपत्ति मुझे लगता है कि गठबंधन करने के लिए सबसे संक्षिप्त और आसान है। –

संबंधित मुद्दे