2013-07-05 40 views
7

Tôi cố gắng tùy chỉnh System.Windows.Controls.Ribbon từ .Net Framework 4.5 để nó có thể được sử dụng với chủ đề Biểu thức tối (màu tối như trong theme mặc định của Blend). Tôi đã thử những ý tưởng sau đây, nhưng cho đến bây giờ mà không cần bất kỳ sự tiến bộ:Cách tùy chỉnh Ribbon WPF 4.5 (kiểu, mẫu, v.v.)

  • thay đổi nền của ribbon: sẽ thay đổi chỉ có chính màu, nhưng lá tất cả các màu bóng loáng khác, đánh dấu COLOS, vv
  • thay đổi kiểu và mẫu: Tôi không thể tìm thấy bất kỳ mẫu mặc định nào cho Ribbon 4.5. Tôi đã cố gắng để có được chúng thông qua các công cụ như ShowMeTheTemplate, nhưng có vẻ như là họ sử dụng một số lớp học nội bộ.
  • tùy chỉnh mẫu bằng Blend for VS2012: Tôi nhận được thông báo lỗi "Sao chép mẫu không thành công".
  • sử dụng .net 4 băng từ RibbonControlLibrary: các RibbonWindow Trông xấu xí trong Windows 8 (xem WPF RibbonWindow + Windows 8 - control box looks bad), mà tôi không thể giải quyết

Bất kỳ trợ giúp sẽ được đánh giá cao, tất cả các lời đề nghị được hoan nghênh.

Trả lời

2

Bạn có thể thay đổi một vài màu sắc theo các thuộc tính thiết lập trên ribbon:

<ribbon:Ribbon x:Name="Ribbon" 
        Background="Khaki" 
        BorderBrush="Brown" 
        MouseOverBackground="LightCoral" 
        MouseOverBorderBrush="Coral" 
        PressedBackground="LightGreen" 
        PressedBorderBrush="Green" 
        CheckedBackground="LightBlue" 
        CheckedBorderBrush="Blue" 
        FocusedBackground="LightSlateGray" 
        FocusedBorderBrush="SlateBlue"> 

Không chính xác một ví dụ đẹp, nhưng cho thấy làm thế nào để làm điều đó.

Sẽ được quan tâm làm thế nào để làm một tái phong cách hoàn toàn cũng ...

+0

tốt hơn thì không có gì ;-) – peter70

2

tôi đã có thể trích xuất một mẫu hoàn toàn làm việc sử dụng Show me the templates. Để làm điều đó, tôi đã sửa đổi nó để trích xuất các mẫu từ "System.Windows.Controls.Ribbon" (chứ không phải là assembly chính).

Nó mang lại cho tôi những điều sau đây:

https://gist.github.com/drayde/75526b570a266f5f8f38 (quá lâu để dán ở đây)

Chỉ cần thêm video này vào tài nguyên của mình và sử dụng nó như thế này:

<Ribbon Template="{StaticResource ribbonTemplate}"> 
     ... 
    </Ribbon> 

Bằng cách thay đổi mẫu bạn nên có toàn quyền kiểm soát băng của bạn được hiển thị như thế nào.