[WinUI 3][CalendarView] 選択されている日が変更されたことを検知する

スポンサーリンク

この記事では CalendarView で選択されている日が変更されたことを検知する方法について説明します。

公式サイト情報はコチラを参照してください。

選択されている日が変更されたことを検知する例

選択されている日が変更されたことを検知する例

環境

開発環境 Microsoft Visual Studio Enterprise 2019
Version 16.11.5
Framework Microsoft .NET Framework Version 4.8.04161

選択されている日が変更されたことを検知する

CalendarView で選択されている日が変更されたことを検知するには、SelectedDatesChanged イベントを使用します。

以下に例を示します。

この例では、選択されている日が変更されると、TextBlock に現在選択されている日が表示されます。

XAML の例

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

    <StackPanel x:Name="myStackPanel" Orientation="Vertical" HorizontalAlignment="Left" >

        <CalendarView x:Name="myCalendarView" 
                      SelectionMode="Multiple"
                      SelectedDatesChanged="myCalendarView_SelectedDatesChanged"/>
        <TextBlock x:Name="myTextBlock" />
        
    </StackPanel>
</Window>

以下は、選択された日が変更された場合に発生する SelectedDatesChanged イベントの実装例です。

foreach を使用して、SelectedDates プロパティから、すべての選択日を取得して TextBlock に表示します。

C# の例

private void myCalendarView_SelectedDatesChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args)
{
    var msg = string.Empty;

    foreach (var dt in myCalendarView.SelectedDates)
    {
        msg += $"{dt.ToString("D")}\n";
    }
    myTextBlock.Text = msg;
}
選択されている日が変更されたことを検知する例

選択されている日が変更されたことを検知する例

WinUi Tips

本サイトでまとめている WinUI Tips の一覧はこちらから確認できます。

Please follow and like us:

コメント

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