2012-11-07 42 views
9

Câu hỏi đơn giản. Có thể sau WPF C# mã cắt giảm một số trọng lượng? Ý tôi là, WTF, uh ... ý tôi là WPF, đến một. Bạn đã từng xem CSS chưa? Tôi chỉ muốn nhấn mạnh Văn bản khi tôi di chuột bằng một liên kết. Tôi có thực sự phải thêm 9 dòng cho điều đó không?Phong cách TextFlock WPF Gạch dưới trên chuột Di chuột

<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> 

Cảm ơn bạn trước!

+1

Ghi đè để loại bỏ kiểu WPF. – Skrymsli

Trả lời

13

Thêm kiểu làm tài nguyên; thì ít nhất bạn có thể tái sử dụng nó. Tôi nghĩ đó là điều tốt nhất bạn có thể làm.

<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

Điều này giữ cho trình dọn dẹp mã thực sự. Vì có thể không có cách nào khác, tôi sẽ chấp nhận điều này làm câu trả lời. –

+4

TextDecoration phải là TextDecorations, nếu không compiler biên dịch – lvmeijer

+0

Tôi tự hỏi làm thế nào điều này có thể được thực hiện với một thuộc tính đính kèm hoặc một hành vi. Thuộc tính đính kèm là ngắn gọn nhất và dễ nhất để kết hợp tôi nghĩ. –

Các vấn đề liên quan