この記事では 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:



コメント