日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF 4 日历控件(Calendar)

發布時間:2025/7/25 asp.net 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF 4 日历控件(Calendar) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
WPF 4 日歷控件(Calendar) 原文:WPF 4 日歷控件(Calendar)

???? 在之前我已經寫過兩篇關于WPF 4 任務欄(Taskbar)相關的特性。相信自從VS2010 Beta 版放出后,WPF 的粉絲們肯定在第一時間了解了WPF 4 的一些新控件及新功能。趕在明天Visual Studio 2010 正式版發布前,我先來介紹一下WPF 4 中日歷控件的一些功能及屬性,就作為明天發布會的熱身準備吧。

創建日歷控件

???? 在WPF ToolKit 中其實日歷控件早已存在,對于WPF 4 中的日歷控件創建起來也很簡單:1. 可以直接從Toolbox 中將Calendar 拖到設計窗口;2. 或直接在XAML 中寫入<Calendar>代碼。

<Window x:Class="WpfControlTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="MainWindow" Height="350" Width="525"><Grid><Calendar Margin="0,50,0,0" Name="calendarCtl"/></Grid> </Window>

DisplayMode 屬性

???? DisplayMode 用來調整日歷顯示模式,分為Month、YearDecade 三種(如下表),默認情況下為Month 模式。

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month"/>

設置這三種模式后其效果分別如下圖所示:

SelectionMode 屬性

???? SelectionMode 屬性可以調整選擇日期的方式:None、SingleDate、SingleRange、MultipleRange,下面逐一看下對日期選擇到底有什么影響。

1. None:看到這個詞肯定是不能選擇日期的意思了~

2. SingleDate:只可以選擇唯一日期。如圖所示,只能選擇像4.12 這樣的單一且唯一的日期。

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" SelectionMode="SingleDate"/>

3. SingleRange:選擇一組日期范圍。如圖所示,可以通過在日歷中拖動鼠標選擇一組從4.19~4.25 的日期范圍,或通過Shift 鍵并用鼠標選擇起始和結束兩個日期。

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" SelectionMode="SingleRange"/>

4. MultipleRange:可以選擇多組連續的日期范圍。如圖所示,通過Ctrl 鍵和鼠標拖動選擇多組日期范圍。

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" SelectionMode="MultipleRange"/>

BlackoutDates 屬性

???? BlackoutDates 屬性用來定義一些不可以選擇的日期項,通過下面XAML 代碼我們定義了一些不能選擇的日期:

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month"><Calendar.BlackoutDates><CalendarDateRange Start="2010/4/1" End="2010/4/3"/><CalendarDateRange Start="2010/4/14" End="2010/4/18"/><CalendarDateRange Start="2010/4/27" End="2010/4/27"/></Calendar.BlackoutDates> </Calendar>

從下圖可以看到,BlackoutDates 中定義的日期在日歷中呈現打叉狀態:

DisplayDateStart 與 DisplayDateEnd 屬性

???? 這兩個屬性組合使用可以圈定一個日期范圍,范圍外的日期將不顯示在日歷中。假設我們只顯示4.10~4.20:

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" DisplayDateStart="2010/4/10"DisplayDateEnd="2010/4/20">

IsTodayHighlighted 屬性

???? 調整是否高亮當天日期,默認為True。

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" IsTodayHighlighted="False"/>

FirstDayOfWeek 屬性

???? 默認情況下日歷每周的第一天為周日,可以通過FirstDayOfWeek 隨意修改。例如改為周一:

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" FirstDayOfWeek="Monday"/>

FlowDirection 屬性

???? 調整日歷的日期顯示順序:LeftToRight、RightToLeft,默認為LeftToRight。將其顛倒一下:

<Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" FlowDirection="RightToLeft"/>

日期按鍵樣式

???? 我們可以通過CalendarDayButtonStyle 為日期按鍵自定義樣式:

<Window x:Class="WpfControlTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="MainWindow" Height="350" Width="525"><Window.Resources><Style TargetType="CalendarDayButton" x:Key="CalendarDayBtnStyle"><Setter Property="Background"><Setter.Value><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="White" Offset="0"/><GradientStop Color="Green" Offset="1"/></LinearGradientBrush></Setter.Value></Setter></Style></Window.Resources><Grid><Calendar Margin="0,50,0,0" Name="calendarCtl" DisplayMode="Month" CalendarDayButtonStyle="{StaticResource CalendarDayBtnStyle}"/></Grid> </Window>

最后期待Visual Studio 2010 發布盛會

posted on 2018-08-08 14:31 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/9442594.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的WPF 4 日历控件(Calendar)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。