XAML - 日曆



日曆類的繼承層次如下:

Calendar Hierarchy

屬性

序號 屬性及描述
1

BlackoutDates

獲取標記為不可選擇的日期集合。

2

CalendarButtonStyle

獲取或設定與控制元件內部 CalendarButton 物件關聯的樣式。

3

CalendarDayButtonStyle

獲取或設定與控制元件內部 CalendarDayButton 物件關聯的樣式。

4

CalendarItemStyle

獲取或設定與控制元件內部 CalendarItem 物件關聯的樣式。

5

DisplayDate

獲取或設定要顯示的日期。

6

DisplayDateEnd

獲取或設定日曆中可用日期範圍的最後日期。

7

DisplayDateStart

獲取或設定日曆中可用的第一個日期。

8

DisplayMode

獲取或設定一個值,該值指示日曆顯示月份、年份還是十年。

9

FirstDayOfWeek

獲取或設定被認為是一週開始的日期。

10

IsTodayHighlighted

獲取或設定一個值,該值指示當前日期是否突出顯示。

11

SelectedDate

獲取或設定當前選定的日期。

12

SelectedDates

獲取選定日期的集合。

13

SelectionMode

獲取或設定一個值,該值指示允許哪種型別的選擇。

方法

序號 方法及描述
1

OnApplyTemplate

應用新模板時構建日曆控制元件的視覺化樹。(重寫 FrameworkElement.OnApplyTemplate())

2

ToString

提供所選日期的文字表示。(重寫 Control.ToString())

事件

序號 事件及描述
1

DisplayDateChanged

當 DisplayDate 屬性更改時發生。

2

DisplayModeChanged

當 DisplayMode 屬性更改時發生。

3

SelectedDatesChanged

當 SelectedDates 屬性返回的集合更改時發生。

4

SelectionModeChanged

當 SelectionMode 更改時發生。

示例

以下示例包含一個具有選擇和停用日期的日曆控制元件。當您單擊任何日期(停用日期除外)時,程式將使用該日期更新標題。

這是建立具有某些屬性和單擊事件的日曆的 XAML 程式碼。

<Window x:Class = "XAMLCalendar.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid> 
      <StackPanel Orientation = "Horizontal"> 
         <!-- 
            Create a Calendar that displays dates through 
            Januarary 31, 2015 and has dates that are not selectable. 
         --> 
				
         <Calendar Margin = "20" SelectionMode = "MultipleRange"   
            IsTodayHighlighted = "false"  
            DisplayDate = "1/1/2015" 
            DisplayDateEnd = "1/31/2015" 
            SelectedDatesChanged = "Calendar_SelectedDatesChanged" 
            xmlns:sys = "clr-namespace:System;assembly = mscorlib">  
				
            <Calendar.BlackoutDates> 
               <CalendarDateRange Start = "1/2/2015" End = "1/4/2015"/> 
               <CalendarDateRange Start = "1/9/2015" End = "1/9/2015"/> 
               <CalendarDateRange Start = "1/16/2015" End = "1/16/2015"/> 
               <CalendarDateRange Start = "1/23/2015" End = "1/25/2015"/> 
               <CalendarDateRange Start = "1/30/2015" End = "1/30/2015"/> 
            </Calendar.BlackoutDates>
			
            <Calendar.SelectedDates> 
               <sys:DateTime>1/5/2015</sys:DateTime> 
               <sys:DateTime>1/12/2015</sys:DateTime> 
               <sys:DateTime>1/14/2015</sys:DateTime> 
               <sys:DateTime>1/13/2015</sys:DateTime> 
               <sys:DateTime>1/15/2015</sys:DateTime> 
               <sys:DateTime>1/27/2015</sys:DateTime> 
               <sys:DateTime>4/2/2015</sys:DateTime> 
            </Calendar.SelectedDates> 
         </Calendar>
         
      </StackPanel>
   </Grid> 
</Window>

這是 C# 中的選擇事件實現。

using System; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Media;

namespace XAMLCalendar { 
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
   public partial class MainWindow : Window { 
      public MainWindow() { 
         InitializeComponent(); 
      } 
      private void Calendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e) { 
         var calendar = sender as Calendar;  
			
         // ... See if a date is selected.
         if (calendar.SelectedDate.HasValue) { 
            // ... Display SelectedDate in Title. 
            DateTime date = calendar.SelectedDate.Value; 
            this.Title = date.ToShortDateString(); 
         } 
      }  
   } 
}

編譯並執行上述程式碼後,將顯示以下螢幕:

Calendar Output

建議您執行上述示例程式碼,並嘗試其他一些屬性和事件。

xaml_controls.htm
廣告
© . All rights reserved.