WinUI中CalendarView控件如何将选中日期显示到视图中?
WinUI3 CalendarView 选中非当前视图日期自动滚动的解决方案
是的,需要手动处理——CalendarView默认不会在通过代码添加选中日期时自动将该日期带入视图范围。你可以通过调用控件的ChangeViewAsync方法实现自动定位。
具体实现步骤
- 先完成选中日期的添加:
MyCalendar.SelectedDates.Add(someDate);
- 调用
ChangeViewAsync方法将视图切换到目标日期所在的时间段:
if (someDate != null) { await MyCalendar.ChangeViewAsync(someDate, null, null); }
参数说明
ChangeViewAsync的三个参数分别对应:
- 第一个参数:要定位的目标日期,直接传入你选中的
someDate即可 - 第二个参数:指定视图类型(如月视图、年视图),传
null则保持当前视图类型不变 - 第三个参数:视图缩放级别,传
null保持当前缩放设置
执行这段代码后,CalendarView会自动滚动到目标日期所在的视图范围,选中的日期也会随之显示在当前视图中。
内容的提问来源于stack exchange,提问作者Bevara Satyasairam
相关产品推荐
相关产品推荐

