- Silverlight 教程
- Silverlight - 首页
- Silverlight - 概述
- Silverlight - 环境设置
- Silverlight - 入门
- Silverlight - XAML 概述
- Silverlight - 项目类型
- Silverlight - 固定布局
- Silverlight - 动态布局
- 受约束与不受约束
- Silverlight - CSS
- Silverlight - 控件
- Silverlight - 按钮
- Silverlight - 内容模型
- Silverlight - 列表框
- Silverlight - 模板
- Silverlight - 可视状态
- Silverlight - 数据绑定
- Silverlight - 浏览器集成
- Silverlight - 浏览器外运行
- Silverlight - 应用程序和资源
- Silverlight - 文件访问
- Silverlight - 视图模型
- Silverlight - 输入处理
- Silverlight - 隔离存储
- Silverlight - 文本
- Silverlight - 动画
- Silverlight - 视频和音频
- Silverlight - 打印
- Silverlight 有用资源
- Silverlight - 快速指南
- Silverlight - 有用资源
- Silverlight - 讨论
Silverlight - 日历 & 日期选择器
日历 & 日期选择器 代表一个控件,允许用户使用可视化日历显示来选择日期。它提供了一些使用鼠标或键盘的基本导航功能。如你所知,Silverlight 不是 WPF 的严格子集。例如,WPF 没有用于选择日期的控件,而 Silverlight 提供了日历控件和日期选择器。
一些重要特性包括:
日历控件相对较大,如果您想查看整体情况,它非常有用。
日期选择器的默认外观更紧凑。
它的尺寸更像文本字段,使其更适合包含许多字段的表单。
日期选择器展开为类似日历的用户界面。
日历类的层次继承如下:
以下是日历类最常用的属性。
| 序号 | 属性 & 描述 |
|---|---|
| 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 更改时发生。 |
日期选择器类的层次继承如下:
以下是日期选择器的一些最常用的属性。
| 序号 | 属性 & 描述 |
|---|---|
| 1 | CalendarIdentifier 获取或设置要使用的日历系统。 |
| 2 | CalendarIdentifierProperty 获取 CalendarIdentifier 依赖属性的标识符。 |
| 3 | Date 获取或设置当前在日期选择器中设置的日期。 |
| 4 | DateProperty 获取 Date 依赖属性的标识符。 |
| 5 | DayFormat 获取或设置日值的显示格式。 |
| 6 | DayFormatProperty 获取 DayFormat 依赖属性的标识符。 |
| 7 | DayVisible 获取或设置一个值,该值指示是否显示日期选择器。 |
| 8 | DayVisibleProperty 获取 DayVisible 依赖属性的标识符。 |
| 9 | Header 获取或设置控件标题的内容。 |
| 10 | HeaderProperty 标识 Header 依赖属性。 |
| 11 | HeaderTemplate 获取或设置用于显示控件标题内容的 DataTemplate。 |
| 12 | HeaderTemplateProperty 标识 HeaderTemplate 依赖属性。 |
| 13 | MaxYear 获取或设置可用于选择的最大公历年份。 |
| 14 | MaxYearProperty 获取 MaxYear 依赖属性的标识符。 |
| 15 | MinYear 获取或设置可用于选择的最小公历年份。 |
| 16 | MinYearProperty 获取 MinYear 依赖属性的标识符。 |
| 17 | MonthFormat 获取或设置月份值的显示格式。 |
| 18 | MonthFormatProperty 获取 MonthFormat 依赖属性的标识符。 |
| 19 | MonthVisible 获取或设置一个值,该值指示是否显示月份选择器。 |
| 20 | MonthVisibleProperty 获取 MonthVisible 依赖属性的标识符。 |
| 21 | Orientation 获取或设置一个值,该值指示日期、月份和年份选择器是水平堆叠还是垂直堆叠。 |
| 22 | OrientationProperty 获取 Orientation 依赖属性的标识符。 |
| 23 | YearFormat 获取或设置年份值的显示格式。 |
| 24 | YearFormatProperty 获取 YearFormat 依赖属性的标识符。 |
| 25 | YearVisible 获取或设置一个值,该值指示是否显示年份选择器。 |
| 26 | YearVisibleProperty 获取 YearVisible 依赖属性的标识符。 |
以下是日期选择器类的一些最常用的事件。
| 序号 | 事件 & 描述 |
|---|---|
| 1 | DateChanged 当日期值更改时发生。 |
| 2 | DragEnter 当输入系统报告一个以该元素为目标的基础拖动事件时发生。(继承自 UIElement) |
| 3 | DragLeave 当输入系统报告一个以该元素为原点的基础拖动事件时发生。(继承自 UIElement) |
| 4 | DragOver 当输入系统报告一个以该元素为潜在放置目标的基础拖动事件时发生。(继承自 UIElement) |
| 5 | DragStarting 当启动拖动操作时发生。(继承自 UIElement) |
| 6 | GotFocus 当 UIElement 获取焦点时发生。(继承自 UIElement) |
| 7 | Holding 当在此元素的命中测试区域上发生未处理的 Hold 交互时发生。(继承自 UIElement) |
| 8 | IsEnabledChanged 当 IsEnabled 属性更改时发生。(继承自 Control) |
| 9 | KeyDown 当 UIElement 具有焦点时按下键盘键时发生。(继承自 UIElement) |
| 10 | KeyUp 当 UIElement 具有焦点时释放键盘键时发生。(继承自 UIElement) |
| 11 | LostFocus 当 UIElement 失去焦点时发生。(继承自 UIElement) |
以下是日期选择器类最常用的方法。
| 序号 | 方法 & 描述 |
|---|---|
| 1 | ClearValue 清除依赖属性的局部值。(继承自 DependencyObject) |
| 2 | FindName 检索具有指定标识符名称的对象。(继承自 FrameworkElement) |
| 3 | OnApplyTemplate 每当应用程序代码或内部进程(例如重建布局过程)调用 ApplyTemplate 时调用。简单来说,这意味着该方法在 UI 元素在应用程序中显示之前被调用。重写此方法以影响类的默认后模板逻辑。(继承自 FrameworkElement) |
| 4 | OnDragEnter 在 DragEnter 事件发生之前调用。(继承自 Control) |
| 5 | OnDragLeave 在 DragLeave 事件发生之前调用。(继承自 Control) |
| 6 | OnDragOver 在 DragOver 事件发生之前调用。(继承自 Control) |
| 7 | OnDrop 在 Drop 事件发生之前调用。(继承自 Control) |
| 8 | OnGotFocus 在 GotFocus 事件发生之前调用。(继承自 Control) |
| 9 | OnKeyDown 在 KeyDown 事件发生之前调用。(继承自 Control) |
| 10 | OnKeyUp 在 KeyUp 事件发生之前调用。(继承自 Control) |
| 11 | OnLostFocus 在 LostFocus 事件发生之前调用。(继承自 Control) |
| 12 | SetBinding 使用提供的绑定对象将绑定附加到 FrameworkElement。(继承自 FrameworkElement) |
让我们来看一个简单的例子,其中包含日历和日期选择器控件。
<UserControl
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sdk = "http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
x:Class = "DateControls.MainPage"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<sdk:Calendar HorizontalAlignment = "Left" Height = "169"
Margin = "0,45,0,0" VerticalAlignment = "Top" Width = "230"/>
<sdk:DatePicker HorizontalAlignment = "Left" Height = "23"
Margin = "216,29,0,0" VerticalAlignment = "Top" Width = "120"/>
</Grid>
</UserControl>
编译并运行上述代码后,您将看到以下输出。