[WinUI 3][DatePicker] 日付の表示と取得

スポンサーリンク

DatePicker は、タッチやマウス、キーボードで日付入力をするためのコントロールです。

今回は、DatePicker に任意の日付を表示する方法と、選択した日付を取得する方法について説明します。

環境

開発環境 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

任意の日付を表示する

任意の日付を表示するには、Date プロパティに日付を設定します。

以下に例を示します。

画面デザインは以下の XAML の通りです。

XAML

<Window
    x:Class="DatePickerSample.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:DatePickerSample"
    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">
        <DatePicker x:Name="myDatePicker"/>
    </StackPanel>
</Window>

日付は、以下のようにコードビハインド(C#)で設定位しています。

Date プロパティに DateTimeOffset の値を設定します。

C#

public MainWindow()
{
    this.InitializeComponent();
    myDatePicker.Date = new DateTimeOffset(new DateTime(2021, 6, 19));
}
任意の日付を設定する例

任意の日付を設定する例

選択された日付を取得する

選択された日付を取得する場合は Date プロパティを参照します。

以下の例では、Button コントロールをクリックすると、現在 DatePicker に設定されている日付を取得して、TextBlock コントロールに表示します。

XAML

<Window
    x:Class="DatePickerSample.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:DatePickerSample"
    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">
        <DatePicker x:Name="myDatePicker"/>
        <Button x:Name="myButton" Content="日付を取得" Click="myButton_Click" />
        <TextBlock x:Name="myTextBlock" />
    </StackPanel>
</Window>

C#

private void myButton_Click(object sender, RoutedEventArgs e)
{
    myTextBlock.Text = myDatePicker.Date.ToString();
}
日付を取得する例

日付を取得する例

 

Please follow and like us:

コメント

タイトルとURLをコピーしました