2011-03-08 41 views

回答

2

這是很多地方元素的顏色和樣式都硬編碼到它們的默認模板之一。因此,要更改這些「非活動」日曆按鈕的外觀,您需要定義一個新模板。

首先您需要創建一個controlsPrivitives:CalendarButton風格的副本,您可以從Calendar Styles and Templates獲得風格的副本。把它放在你的用戶控件的Resources或甚至你的App.Xaml中。您需要複製該MSDN主題中列出的命名空間別名。

現在,您可以修改日曆按鈕的隱式樣式。你會注意到在XAML模板具有這種視覺狀態組: -

      <vsm:VisualStateGroup x:Name="ActiveStates"> 
           <vsm:VisualStateGroup.Transitions> 
            <vsm:VisualTransition GeneratedDuration="0" /> 
           </vsm:VisualStateGroup.Transitions> 
           <vsm:VisualState x:Name="Active" /> 
           <vsm:VisualState x:Name="Inactive"> 
            <Storyboard> 
             <ColorAnimation Storyboard.TargetName="Content" Storyboard.TargetProperty="(ContentControl.Foreground).(SolidColorBrush.Color)" To="#FF777777" Duration="0" /> 
            </Storyboard> 
           </vsm:VisualState> 
          </vsm:VisualStateGroup> 

範圍之外的那些年被設置爲無效狀態,因此具有硬編碼的灰色您在非活動狀態見上。所以調整這個xaml到你的偏好。

如果你想要一樣的日間按鈕,你應該注意到它們有不同的控制CalendarDayButton,所以你需要對其默認樣式進行相同的練習。