我在访问AppointmentItem的Subject字段中的实际输入文本时遇到问题。 我创建了一个Outlook 2010加载项,该加载项具有来自功能区的自定义按钮的回调。 如果有人在键入主题后立即单击按钮(并且不更改控件焦点),则可以获取主题字段除之外的值。 在这些情况下,我得到的是主题的先前值,而不是最近输入的值。 (对于新创建的会议邀请,我得到一个空值)
public void ToggleMeetingPlace_Callback(Office.IRibbonControl control)
{
if ((control!=null)&&(control.Id == "toggleMeetingPlace"))
{
var item = control.Context as Outlook.Inspector;
if ((item != null) && (item.CurrentItem != null))
{
Outlook.AppointmentItem m_item = item.CurrentItem as Outlook.AppointmentItem;
string subject = m_item.Subject;
// some action
}
}
}
但是,如果我开始调试,我会在监视窗口中看到一些有趣的行为: - 直接观看m_item.Subject仍返回旧值 - 但如果我为m_item设置了一个监视器,然后突然扩展了动态成员,则该值将更新为当前文本。
我想在这种情况下动态视图有一些派上用场的副作用......我只是无法弄清楚如何从代码中做到这一点。
答案 0 :(得分:0)
它的发生是因为您已将光标放在项目的主题字段中。 如果从主题字段中删除焦点,它将起作用。
是的,通过扩展动态视图突然显示主题文本是正确的,但是我应该是因为延迟或我不知道的事情。