1

Microsoft Outlook 2013 に追加した CustomTaskPane があります。このペインには WPF Calendar コントロールが含まれており、ダブルクリックすると現在の Outlook ビュー (メール) からカレンダー ビューに切り替わり、コントロール。

私が使用しているコードは次のとおりです。

private void TopCalendar_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    CalendarView calView = null;
    Explorer explorer;
    DateTime goToDate = (TopCalendar.SelectedDate.HasValue) ? TopCalendar.SelectedDate.Value : DateTime.Today;

    explorer = Globals.ThisAddIn.Application.ActiveExplorer();
    Views views = Globals.ThisAddIn.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar).Views;

    foreach(View v in views)
        if (v.Name == "Calendar")
        {
            calView = (CalendarView)v;
            break;
        }

    calView.CalendarViewMode = OlCalendarViewMode.olCalendarViewMonth;
    calView.GoToDate(goToDate);
    explorer.CurrentView = calView;
}

ただし、日付をダブルクリックすると、コードが呼び出されます (ブレークポイントで検証されます) が、Outlook にはまったく影響がないようです。助言がありますか?

4

1 に答える 1

2

を呼び出しApply()て、ビューを の現在のビューにするようにしてくださいFolderCurrentFolderをカレンダーに割り当てる必要もあります。

calView.Apply(); // applies the view
explorer.CurrentFolder = Globals.ThisAddIn.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar); // changes current folder
于 2013-04-12T21:14:00.163 に答える