我遇到了Windows.Forms.ElementHost
的问题。在主持人中我放置了一个WPF UserControl
,其中我得到了Popup
。
一些代码:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="380">
<Grid>
<Popup x:Name="TestPopup"
IsOpen="{Binding PopupVisible,UpdateSourceTrigger=PropertyChanged}"
Placement="Center"
StaysOpen="False" Width="200" Height="50">
<Grid>
<TextBox/>
</Grid>
</Popup>
<Button Click="Button_Click" />
</Grid>
</UserControl>
所以在这个例子中,我得到的只是ElementHost
,UserControl
和Popup
(以及一个ViewModel,其中弹出的IsOpen变量PopUpVisible
被实现)。
现在我在Buttons
中有两个UserControl
...一个,在我的WindowsForm中有一个使用ElementHost。
两个按钮中的每一个都将IsOpen变量PopUpVisible
设置为true
。因此,如果我按下按钮,则会显示相同的弹出窗口。在此之前,一切都很棒。
现在我的弹出窗口中有一个textbox
...我点击这个textbox
并开始给一些随机的东西小费......如果我在我的wpf usercontrol中按下按钮就行了!但是,如果我按下WindowsForm
中的按钮,事情开始变得怪异!我的焦点和所有内容都在我的文本框上,但文本框不会让我的任何键盘小费。我检查并对其进行了双重检查......我肯定在文本框上得到了“键盘焦点”!
有点卡在这里......有人有想法吗?
亲切的问候。