2013-07-05 27 views
7

Próbuję dostosować System.Windows.Controls.Ribbon z .Net Framework 4.5, aby można było używać z motywem Dark Expression (ciemne kolory, jak w domyślny motyw Blend). Próbowałem następujących pomysłów, ale do tej pory bez jakiegokolwiek postępu:Dostosowywanie wstążki WPF 4.5 (style, szablony itp.)

  • zmienić tło wstęgi: zmienią się tylko główny kolor, ale pozostawia wszystkie inne błyszczące kolory, podkreślają COLOS itp
  • zmień style i szablony: Nie można znaleźć domyślnych szablonów wstążki wstążki 4.5. Próbowałem uzyskać je za pomocą narzędzi takich jak ShowMeTheTemplate, , ale wydaje się, że używają one niektórych klas wewnętrznych.
  • dostosowywanie szablonów za pomocą Blend for VS2012: zawsze pojawia się błąd "Copy Template failed".
  • użyć .net 4 wstążkę z RibbonControlLibrary: the RibbonWindow wygląda brzydko w Windows 8 (patrz WPF RibbonWindow + Windows 8 - control box looks bad), że nie mogę rozwiązać

Każda pomoc będzie mile widziane, wszelkie sugestie są mile widziane.

Odpowiedz

2

można zmienić parę kolorów poprzez ustawienie właściwości na wstążce:

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

Niezupełnie przystojnym przykład, ale pokazuje, jak to zrobić.

byłby zainteresowany jak to zrobić kompletny re-stylizacji, jak również ...

+0

lepiej niż nic ;-) – peter70

2

udało mi się wyodrębnić szablon w pełni wykonywana przy użyciu Show me the templates. Aby to zrobić, zmodyfikowałem go, aby wyodrębnić szablony z "System.Windows.Controls.Ribbon" (zamiast głównego zespołu szkieletowego).

Daje mi następujące:

https://gist.github.com/drayde/75526b570a266f5f8f38 (zbyt długo, aby wkleić tutaj)

Wystarczy dodać to do swoich zasobów i używać go tak:

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

Poprzez modyfikację szablonu powinien mieć pełną kontrolę nad wyświetlaniem wstążki.