我在访问 AppointmentItem 的主题字段中实际输入的文本时遇到问题。 我创建了一个 Outlook 2010 加载项,它具有来自功能区自定义按钮的回调。 如果有人在键入主题后立即单击按钮(而不是更改控件焦点),我可以获得主题字段的值 except。 在这些情况下,我得到的是 Subject 以前的值,而不是最近输入的值。 (对于新创建的 session 邀请,我得到一个空值)
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
}
}
}
但是,如果我开始调试,我会在监 window 口中看到一些有趣的行为: - 直接观察 m_item.Subject 仍然返回旧值 - 但如果我为 m_item 设置监视,然后突然展开 Dynamic 成员,值就会更新为当前文本。
我想这种情况下的动态 View 有一些派上用场的副作用......我只是想不出如何从代码中做到这一点。
最佳答案
它的发生是因为您将光标放在项目的主题字段中。 如果您从主题字段中移除焦点,它将起作用。
是的,您是正确的,突然出现主题文本扩展动态 View ,但我是由于延迟或其他我不知道的原因。
关于c# - 获取 Outlook AppointmentItem 主题行的最新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21854780/