VSTO Outlook切换状态
问题描述:
我正在为新邮件开发VSTO Outlook Addin。用户可以在想要保存邮件时切换图像。VSTO Outlook切换状态
当前图像被点击时,我设置一个全局布尔值为true。
private bool _state;
private void toggleBtn_Click(object sender, RibbonControlEventArgs e)
{
if (_state) {
_state = false;
} else {
_state = true;
}
}
哪些工作正常,直到用户在发送第一个邮件窗口之前打开另一个新的邮件窗口。
如何仅为每个新邮件窗口存储状态?
非常感谢。
解决方案
有两种方法来解决这个问题。
两个 优秀的博客:使用包装来存储类的状态 了解更多关于https://msdn.microsoft.com/en-us/library/office/ff973716(v=office.14).aspx
答
解决方案
有两种方法来解决这个问题。
两个优秀的博客:使用包装来存储状态类阅读更多https://msdn.microsoft.com/en-us/library/office/ff973716(v=office.14).aspx
答
不知道你是否能得到当前邮件的ENTRYID正在编辑如果是的话,你可以尝试所有的状态缓存到一本字典,类似下面
private Dictionary<string, bool> _states = new Dictionary<string, bool>();
private void toggleBtn_Click(object sender, RibbonControlEventArgs e)
{
MailItem ml;
// get current MailItem
// something like: MailItem ml = popupWindow.GetMail
// default false
if (!(_states.Keys.Contains(ml.EntryId))){
_states[ml.EntryId] = false;
}
// toggle the state
_states[ml.EntryId] = !_states[ml.EntryId];
}
但是
,你可能希望处理日Ë弹出窗口关闭的事件,当用户关闭弹出窗口从词典中删除的条目(例如,电子邮件发送)
谢谢雷克斯,目前沿侧工作这篇博客https://开头的博客。 msdn.microsoft.com/anilkumar/2010/07/19/how-to-effectively-maintain-the-state-of-the-ribbon-in-outlook-2010/ – mausinc