2011-12-09 12 views
5

El elemento Click Menu Event no se genera cuando el cursor está fuera del panel de tareas. No tengo idea de cómo funciona. 90% de las veces, el clic se encuentra fuera del panel de tareas.VSTO WPF ContextMenu.MenuItem Haga clic fuera de TaskPane no levantado

enter image description here

Cuando se openned el menú contextual, los submenús se exhiben a menudo fuera del panel de tareas (ver foto abajo). En tales casos, el evento click del menú contextual no se genera.

Absolutamente no tengo idea de cómo hacer que esto funcione.

¿Alguna idea?

+0

+1 un problema similar al mío: http://stackoverflow.com/questions/10526118/bug-cant-choose-dates-on-a-datepicker-that-fall-outside-a-floating-vsto-add -en –

Respuesta

3

El panel de tareas personalizado tiene problemas de foco con los menús de contexto de WPF. Mire here.

Tengo los mismos problemas. En realidad, uso una de las soluciones recomendadas (Dispatcher Frame). Está funcionando, pero no estoy muy contento con esta solución torpe.

+1

Gracias. Tenga en cuenta que debe tener la referencia CustomPane, ya sea wen declarada en xaml. Esta solución puede congelar su aplicación si no se implementa correctamente. Y tengo que usar e.Source en lugar de LogicalTreeHelper.GetParent ((DependencyObject) e.OriginalSource) pero no estoy seguro. – Avlin

+0

si la aplicación de oficina queda encerrado intente esto: \t Public Sub ContextMenuClick (remitente de ByVal como objeto, ByVal e como RoutedEventArgs) \t Dispatcher.ExitAllFrames() final sub – Avlin

+0

condición 1 LogicalTreeHelper no funcionaba para mí tampoco . Simplemente lo comenté y funciona ahora. Gracias @Dirk & Avlin – surfen