2010-05-10 43 views
5

Có cách nào và bất kỳ hướng dẫn, bài viết, mẫu xung quanh nào cho phép mỗi và mọi Nhãn kiểm soát mới được tạo ra trong thời gian chạy để có Glow xung quanh nó, giống như trên Vista/7 không?Điều khiển nhãn phát sáng trên bề mặt kính

Cảm ơn bạn

+0

Đã thay đổi thẻ 'Phát sáng' thành WPF vì có nhiều khả năng giải pháp sẽ dựa trên WPF. –

+0

Điều này chắc chắn có thể được thực hiện trong WPF (có lẽ khá tầm thường, là tốt), nhưng bạn có thể đính kèm một ảnh chụp màn hình mà tốt hơn minh họa hiệu quả mong muốn? – Charlie

+0

Đính kèm s/shot bây giờ –

Trả lời

3

Không có khả năng xem hình ảnh đính kèm, và do đó chỉ đoán những gì trông mong muốn nên - Tôi đã thực hiện một thử nghiệm nhanh trong WPF với thay đổi mẫu của một Label và thêm một ContentPresenter thứ hai với một ứng dụng BlurEffect được áp dụng.

Giả sử giao diện là những gì bạn đang tìm kiếm, đó là một cách nhanh chóng và dễ dàng để thực hiện.

<Style TargetType="{x:Type Label}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Label}"> 
        <Border BorderBrush="{TemplateBinding BorderBrush}" 
          BorderThickness="{TemplateBinding BorderThickness}" 
          Background="{TemplateBinding Background}" 
          Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True"> 
         <Grid> 
          <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" 
           Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" 
           HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" 
           SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
           VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
           Opacity="0.5"> 

           <ContentPresenter.Effect> 
            <BlurEffect Radius="5" /> 
           </ContentPresenter.Effect> 
          </ContentPresenter> 
          <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" 
             Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" 
             HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" 
             SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
             VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 

         </Grid> 
        </Border> 
       <ControlTemplate.Triggers> 
      <Trigger Property="IsEnabled" Value="False"> 
       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> 
      </Trigger> 
     </ControlTemplate.Triggers> 
    </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
+0

Ồ, cảm ơn vì điều đó. Một câu hỏi; Tôi sẽ dán mã này ở đâu? Rõ ràng nó sẽ ở đâu đó bên trong tệp XAML, nhưng ở đâu? Xin lỗi, tôi đã không sử dụng WPF rất nhiều. Nhưng sau khi nhìn thấy một vài điều tối nay, tôi thích nó! –

+0

Câu trả lời ngắn: Vì lợi ích của việc thực dụng và làm cho công cụ của bạn hoạt động, hãy dán phần này vào phần tài nguyên của cửa sổ. ... ... [chèn phong cách ở đây] ... dài câu trả lời: Đọc trên xử lý trong WPF tài nguyên. – ThomasAndersson

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