2010-03-06 22 views
5

Ví dụ, nếu tôi có một label:Có thể chọn màu một nhãn trong Silverlight không?

Blah blah bladity blah

Tôi muốn 10% đầu tiên của nhãn này, sao cho màu chữ nên có màu đỏ, và phần còn lại phải có màu xanh.

Điều này có nghĩa là nó sẽ tô màu cho Bl và PART của a. Về cơ bản, màu phông chữ pixel-khôn ngoan thay vì ký tự khôn ngoan. Điều này có thể và làm thế nào sẽ được thực hiện?

Trả lời

5

Yeah, nó sẽ là như thế này:

<Canvas> 
    <dataInput:Label Background="White" > 
    <dataInput:Label.Foreground> 
     <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> 
      <GradientStop Color="Red" Offset="0.1"/> 
      <GradientStop Color="Green" Offset="0.1"/> 
     </LinearGradientBrush> 
    </dataInput:Label.Foreground> 
    Blah blah bladity blah 
    </dataInput:Label> 
</Canvas> 

Để không có tác dụng gradient, bạn cần phải đặt cả Offset để cùng giá trị.

Lưu ý: Trong kích thước phông chữ này (chuẩn, không có gì thay đổi) "B" và "l" có màu đỏ và chỉ có một mảnh nhỏ "a". Nhưng "0,1" trong Offset có nghĩa là 10%, vì vậy bạn có thể giảm kích thước phông chữ hoặc thay đổi giá trị Offset.

+0

Có vẻ như cả hai chúng tôi đã đưa ra giải pháp tương tự! –

+0

+1 Sử dụng tốt dữ liệuInput: Kiểm soát nhãn. –

3

Có - bạn nên sử dụng bàn chải Gradient với màu Foreground của Văn bản.

<TextBlock Text="Blah blah bladity blah"> 
    <TextBlock.Foreground> 
     <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> 
     <GradientStop Color="Red" Offset="0.1"/> 
     <GradientStop Color="Green" Offset="0.1"/> 
     </LinearGradientBrush> 
    </TextBlock.Foreground> 
</TextBlock> 
Các vấn đề liên quan