XAML - 时间选择器



TimePicker 是一种允许用户选择时间值的控件。TimePicker 类的层次继承如下:

TimePicker Hierarchy

属性

序号 属性及描述
1

ClockIdentifier

获取或设置要使用的时钟系统。

2

ClockIdentifierProperty

获取 ClockIdentifier 依赖属性的标识符。

3

Header

获取或设置控件标题的内容。

4

HeaderProperty

标识 Header 依赖属性。

5

HeaderTemplate

获取或设置用于显示控件标题内容的 DataTemplate。

6

HeaderTemplateProperty

标识 HeaderTemplate 依赖属性。

7

MinuteIncrement

获取或设置一个值,该值指示分钟选择器中显示的时间增量。例如,15 指定 TimePicker 分钟控件仅显示 00、15、30、45 选项。

8

MinuteIncrementProperty

获取 MinuteIncrement 依赖属性的标识符。

9

Time

获取或设置当前在时间选择器中设置的时间。

10

TimeProperty

获取 Time 依赖属性的标识符。

事件

序号 事件及描述
1

ManipulationCompleted

当对 UIElement 的操作完成时发生。(从 UIElement 继承)

2

ManipulationDelta

当输入设备在操作过程中改变位置时发生。(从 UIElement 继承)

3

ManipulationInertiaStarting

当输入设备在操作过程中与 UIElement 对象失去接触并且惯性开始时发生。(从 UIElement 继承)

4

ManipulationStarted

当输入设备开始对 UIElement 进行操作时发生。(从 UIElement 继承)

5

ManipulationStarting

当首次创建操作处理器时发生。(从 UIElement 继承)

6

TimeChanged

当时间值更改时发生。

方法

序号 方法及描述
1

OnManipulationCompleted

在 ManipulationCompleted 事件发生之前调用。(从 Control 继承)

2

OnManipulationDelta

在 ManipulationDelta 事件发生之前调用。(从 Control 继承)

3

OnManipulationInertiaStarting

在 ManipulationInertiaStarting 事件发生之前调用。(从 Control 继承)

4

OnManipulationStarted

在 ManipulationStarted 事件发生之前调用。(从 Control 继承)

5

OnManipulationStarting

在 ManipulationStarting 事件发生之前调用。(从 Control 继承)

示例

以下示例演示了在 XAML 应用程序中使用 TimePicker 的方法。以下是创建和初始化具有某些属性的 TimePicker 的 XAML 代码。

<Page x:Class = "XAMLTimePicker.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:local = "using:XAMLTimePicker" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
   mc:Ignorable = "d">

   <Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
      <StackPanel Orientation = "Horizontal" Height = "60" Margin = "46,67,-46,641">
         <TimePicker x:Name = "arrivalTimePicker" Header = "Arrival Time" Margin = "0,1"/> 
         <Button Content = "Submit" Click = "SubmitButton_Click"
            Margin = "5,0,0,-2" VerticalAlignment = "Bottom"/> 
         <TextBlock x:Name = "Control1Output" FontSize = "24"/> 
      </StackPanel> 
   </Grid> 
	
</Page>

以下是 C# 中的点击事件实现:

using System; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls;

namespace XAMLTimePicker {
   public sealed partial class MainPage : Page {
      public MainPage() { 
         this.InitializeComponent(); 
      }
      private void SubmitButton_Click(object sender, RoutedEventArgs e) {
         if (VerifyTimeIsAvailable(arrivalTimePicker.Time) == true) {
            Control1Output.Text = string.Format("Thank you. Your appointment is set for {0}.",
               arrivalTimePicker.Time.ToString());
         } else {
            Control1Output.Text = "Sorry, we're only open from 8AM to 5PM.";
         }
      }
      private bool VerifyTimeIsAvailable(TimeSpan time) {
         // Set open (8AM) and close (5PM) times. 
         TimeSpan openTime = new TimeSpan(8, 0, 0); 
         TimeSpan closeTime = new TimeSpan(17, 0, 0);
		
         if (time >= openTime && time < closeTime) { 
            return true; // Open 
         }
         return false; // Closed 
      }
   }
}

编译并执行以上代码时,将显示以下输出。当选择的时间在上午 8 点到下午 5 点之间时,将显示以下消息:

TimePicker Output

否则,将显示以下消息:

TimePicker Output 1

建议您执行以上示例代码,并尝试其他一些属性和事件。

xaml_controls.htm
广告