Outlook 2013의 새 전자 메일 리본에 사용자 정의 토글 버튼을 추가했습니다. 버튼을 토글하면 메일 메시지에 사용자 속성이 추가됩니다.리본 토글 버튼 예상대로 getPressed()가 호출되지 않음
public void OnLockButton(Office.IRibbonControl control, bool pressed)
{
Outlook.MailItem mi = Globals.ThisAddIn.Application.ActiveInspector().CurrentItem as Outlook.MailItem;
var userProp = mi.UserProperties.Add("MyIsLocked", Outlook.OlUserPropertyType.olYesNo, false);
userProp.Value = pressed;
// Make sure we update the ribbon
ribbon.Invalidate();
}
버튼의 "전환"상태는 사용자 속성의 상태를 검사하는 getPressed() 콜백으로 업데이트되고 :
public bool GetLockButtonPressed(Office.IRibbonControl control)
{
Outlook.MailItem mailItem = Globals.ThisAddIn.Application.ActiveInspector().CurrentItem as Outlook.MailItem;
var userProp = mailItem.UserProperties.Find("NMIsLocked");
bool isLocked = (userProp != null && userProp.Value);
return isLocked;
}
이
모든 작업을 잘한다.는 문제가 발생했을 때 :
- 를 열고 새 메일 메시지 토글 버튼
- 폐기 메일 메시지
- 를 열고 새 메일 메시지
에서에
디버거에서 getPressed()가 새 메시지에 대해 호출되지 않는 것을 볼 수 있으므로 리본 단추 상태가 마지막으로 그린 시간과 같다고 생각합니다.
내가 가지고있는 아이디어 중에는 메일 메시지를 열었을 때 (또는 닫혀있을 때) 리본이 무효화되는 것이 포함되어 있습니까? 아니면 내가 놓친 다른 방법이 있습니까?
Outlook의 '우선 순위 높음'토글 버튼과 비슷한 기능을 찾고 있습니다.
이 http://social.msdn.microsoft.com/Forums/vstudio/en-US/ae3049ce-4c16-4d24-9183-961fc6be5944/vsto-c-outlook-addin-default-toggle-button -state? forum = vsto가 도움이 될 것입니다. 대답하는 사람이 그것에 책을 썼습니다! http://www.slovaktech.com/Books.htm –