2011-01-12 6 views
1

Oben im MS Silverlight Calendar-Steuerelement werden der Monat/das Jahr und einige Pfeile zum Blättern angezeigt. Hinter diesen Gegenständen befindet sich ein hellblaues Rechteck. Ich möchte die Farbe dieses Rechtecks ​​ändern können. Wie würde ich das machen?Wie ändere ich die Farbe des blauen Rahmens im MS Silverlight Calendar Control?

Mein erster Gedanke war, das Kalendersteuerelement in Blend zu öffnen, zu wählen, eine Vorlage/Kopie zu bearbeiten und nur zum richtigen Steuerelement zu navigieren, aber dieser Pfad war nicht so offensichtlich, wie ich gehofft hatte. Das Öffnen einer Kopie (Vorlage) des Steuerelements hat mir sehr wenig Arbeit gelassen. Tatsächlich erlaubt es mir nur, den Hintergrund (für die gesamte Kontrolle, nicht nur den Monat/das Jahr) und die Grenze zu ändern. Hmmm.

Es gibt auch Optionen in der Benutzeroberfläche zum Bearbeiten des CalendarButtonStyle, CalendarDayButtonStyle und CalendarItemStyle. Der CalendarItemStyle scheint mir am nächsten zu sein, aber ich werde verdammt sein, wenn ich herausfinden kann, wo das blaue Rechteck/der Rand/das Panel/was auch immer herkommt?

Antwort

1

Der Standardhintergrund für das Kalendersteuerelement ist ein linearer linearer Farbverlauf von 4 bis 4, der die Farben für den hellblauen Hintergrund der Kopfzeile und den weißen Hintergrund für den Rest des Kalenders bereitstellt.

Sie müssen das Steuerelement überhaupt nicht anpassen, um diesen Hintergrundfarbverlauf zu optimieren. Sie können den Hintergrund des Kalenders einfach auf einen LinearGradientBrush mit den Haltepunkten bei einem Offset von 0,16 festlegen (der Standardprozentsatz, bei dem sich der Wert von der Kopfzeile zum Textkörper des Kalenders ändert). Hier

ist ein Beispiel in XAML Ändern der Header Hintergrund von dem Standard von # FFD3DEE8 auf schwarz:

<controls:Calendar> 
    <controls:Calendar.Background> 
     <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
      <GradientStop Color="Black" Offset="0"/> 
      <GradientStop Color="Black" Offset="0.16"/> 
      <GradientStop Color="#FFFCFCFD" Offset="0.16"/> 
      <GradientStop Color="White" Offset="1"/> 
     </LinearGradientBrush> 
    </controls:Calendar.Background> 
</controls:Calendar> 
Verwandte Themen