c# - obtener el valor más actual de la línea Asunto de un AppointmentItem de Outlook
dynamic add-in (1)
Tengo problemas para acceder al texto escrito en el campo Asunto de un AppointmentItem. He creado un complemento de Outlook 2010 que tiene una devolución de llamada de un botón personalizado de la cinta de opciones. Puedo obtener el valor del campo Asunto, excepto si alguien hace clic en el botón justo después de escribir el tema (y no cambia el foco de control). En estos casos, estoy obteniendo el valor anterior del Asunto y no el valor ingresado recientemente. (para una Invitación a la reunión recién creada, obtengo un valor nulo)
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
}
}
}
Sin embargo, si empiezo a depurar veo un comportamiento interesante en la ventana del reloj: - viendo directamente m_item.Subject devuelve el valor anterior - pero si configuro un reloj para m_item y luego amplío los miembros dinámicos, de repente el valor es actualizado al texto actual.
Supongo que la vista dinámica en este caso tiene algunos efectos secundarios que son útiles ... No puedo entender cómo hacer esto desde el código.
Sucede porque ha colocado su cursor en el campo de asunto de su elemento. Si quita el foco del campo de asunto, funcionará.
Sí, tiene razón al expandir la vista dinámica, aparece súbitamente el texto del tema, pero eso se debe a un retraso o algo que no sé.