如何以编程方式为 Infragistics.Win.UltraWinSchedule.UltraCalendarCombo 中的用户月份设置可见性?

How can I programmatically set Visible for User Month in Infragistics.Win.UltraWinSchedule.UltraCalendarCombo?

我在我的项目中使用 UltraCalendarCombo。我希望用户在下拉日期选择器中看到一些预选日期。此预选日期是根据其他一些属性计算的。 我做下一件事:

var calendarInfo = ultraGridCalendar.CalendarInfo;
calendarInfo.ActivateDay(selectedDate);

但是这段代码并没有像我预期的那样工作。它只选择这一天,但用户应手动导航到与所选日期相对应的年月。我希望日历组合显示选定的日期,即月份和年份。

我找到了我的问题的答案。 UltraCalendarCombo中有VisibleMonths 属性,但不可编辑,且包含可见月份。但是还有一个对我有用的属性:FirstMonth。这个 属性 是我所需要的。它有 setter,我可以在激活日后更改对用户月份可见。 所有代码:

var calendarInfo = ultraGridCalendar.CalendarInfo;
calendarInfo.ActivateDay(selectedDate);
ultraGridCalendar.FirstMonth = calendarInfo.GetMonth(selectedDate);

我在单元格编辑器的 AfterDropDown 事件处理程序中完成这一切。 所以,当用户点击下拉菜单时,他可以看到我希望他默认看到的日期。

您可以使用 setter 或 ultraGridCalendar.Value 属性,但随后您会在文本框中看到此值,并且底层模型将包含此值。期望的行为不是选择值而不是用户,只是突出显示 "suggestion".