TimePicker は、マウスやキーボードで時刻を入力をするためのコントロールです。
今回は、TimePicker に任意の時刻を表示する方法と、選択した時刻を取得する方法について説明します。
環境
| 開発環境 | Microsoft Visual Studio Professional 2019 Preview Version 16.11.0 Preview 3.0 |
| Framework | Microsoft .NET Framework Version 4.8.04084 |
| その他 | Microsoft.Project Reunion 0.8.0-preview |
| Microsoft.ProjectReunion.Foundation 0.8.0-preview | |
| Microsoft.ProjectReunion.WinUI 0.8.0-preview | |
| Microsoft.UI.Xaml 2.6.1 |
任意の時刻を表示する
任意の時刻を表示するには、Time プロパティに日付を設定します。
以下に例を示します。
画面デザインは以下の XAML の通りです。
XAML
<Window
x:Class="TimePickerSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TimePickerSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Top">
<TimePicker x:Name="myTimePicker" />
</StackPanel>
</Window>
日付の表示はコードビハインド(C#)で行います。
以下のように Time プロパティに TimeSpan 型 の値(表示する時刻)を設定します。
C#
public MainWindow()
{
this.InitializeComponent();
myTimePicker.Time = new TimeSpan(15, 24, 00);
}
選択された時刻を取得する
選択された時刻を取得する場合は Time プロパティを参照します。
以下の例では、Button コントロールをクリックすると、現在 TimePicker に設定されている時刻を取得して、TextBlock コントロールに表示します。
XAML
<Window
x:Class="TimePickerSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TimePickerSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Top">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Top">
<TimePicker x:Name="myTimePicker"/>
<Button x:Name="myButton" Content="時刻を取得" Click="myButton_Click" />
<TextBlock x:Name="myTextBlock" />
</StackPanel>
</StackPanel>
</Window>
C#
private void myButton_Click(object sender, RoutedEventArgs e)
{
myTextBlock.Text = myTimePicker.Time.ToString();
}
Please follow and like us:



コメント