Окно Wpf, размещенное на Foxpro, возвращает фокус на foxpro при нажатии Tab - PullRequest
0 голосов
/ 09 августа 2011

У меня есть приложение Visual FoxPro 9, из которого я вызываю окно wpf, используя COM-взаимодействие. При первом нажатии клавиши TAB фокус возвращается к окну FoxPro. Если я возвращаюсь к окну wpf, это происходит снова, пока я не сделаю это в третий раз, и тогда фокус будет работать нормально. Это происходит с помощью мыши или Alt + Tab, чтобы вернуться в окно wpf. Это происходит независимо от того, есть ли какой-либо элемент (текстовое поле, указатель даты, ...) или нет. Я попытался захватить событие PreviewKeyDown окна, но кажется, что это происходит до того, как он может его захватить. Я протестировал окно wpf в приложении wpf, и оно работает нормально.

Класс C Sharp подобен:

[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ProgId("SBN.WPF.Com")]
[ComVisible(true)]
public class WpfFoxPro
{

и вызовы FoxPro имеют вид:

oDll = Createobjectex("SBN.WPF.Com", "", "")
oDll.VOpenWPFWindow()

Я использую Visual Studio 2010 и .Net 4.0, и у меня заканчиваются идеи. Кто-нибудь знает что-нибудь об этом?

1 Ответ

1 голос
/ 16 августа 2011

Звучит глупо, но не могли бы вы отключить окна VFP, когда WPF активен?Это не решение , но, основываясь на 10-летней работе с VFP, иногда вам просто нужно перестать бить себя головой о кирпичную стену и идти в гору.;)

...