当我们在WindowsFormHost中选择任何TreeNode然后尝试在弹出窗口中显示的文本框中键入文本时,不允许添加文本,因为焦点不会从TreeNode中丢失。我可以就此得到建议吗?
代码段:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wind="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Popup Width="250" Height="300" StaysOpen="True" IsOpen="True">
<TextBox Width="100" Height="100"/>
</Popup>
<WindowsFormsHost Width="200">
<wind:TreeView>
<wind:TreeView.Nodes>
<wind:TreeNode Text="Node 1"/>
<wind:TreeNode Text="Node 2"/>
<wind:TreeNode Text="Node 3"/>
<wind:TreeNode Text="Node 4"/>
</wind:TreeView.Nodes>
</wind:TreeView>
</WindowsFormsHost>
</Grid>
</Window>
示例链接:
http://www.syncfusion.com/downloads/Support/DirectTrac/85553/WpfApplication21123581705.zip
答案 0 :(得分:0)
弹出窗口中的控件并不是Popup父母的一部分。
所以你必须首先将焦点设置为Popup本身,然后在Popup中找到TextBox控件并将其聚焦(通过x找到Popup-child:Name并设置焦点)