WinUI3/Windows App SDK中如何让CalendarView自动滚动至今日日期?
实现WinUI3 CalendarView的“返回今日”功能
XAML 布局示例
假设你已经在CalendarView上方添加了按钮,以下是完整布局参考:
<StackPanel Orientation="Vertical"> <Button x:Name="GoToTodayBtn" Content="今日" Click="GoToTodayBtn_Click" Margin="10"/> <CalendarView x:Name="MyCalendarView" Margin="10"/> </StackPanel>
C# 后台实现
在页面代码文件中添加按钮点击事件逻辑,核心是调用CalendarView.ChangeView方法滚动到今日日期:
private void GoToTodayBtn_Click(object sender, RoutedEventArgs e) { // 获取今日日期(仅保留日期部分) DateTime today = DateTime.Today; // 滚动到今日日期,启用平滑动画 MyCalendarView.ChangeView(today, null, null, true); // 可选:同时选中今日日期 MyCalendarView.SelectedDate = today; }
关键说明
ChangeView是CalendarView滚动到指定日期的核心API,第一个参数传入目标日期即可触发滚动。- 最后一个布尔参数
animate设为true启用平滑滚动动画,设为false则直接跳转。 - 若需要选中今日日期,额外设置
SelectedDate属性即可实现选中效果。
内容的提问来源于stack exchange,提问作者user21311740
相关产品推荐
相关产品推荐

