Фокус клавиатуры не работает в текстовом поле, добавленном во всплывающем окне - PullRequest
3 голосов
/ 03 ноября 2011

Когда мы выбираем любой из TreeNode в WindowsFormHost и затем пытаемся ввести текст в текстовое поле, показанное во всплывающем окне, не позволяет добавлять текст, так как фокус не теряется из 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

1 Ответ

0 голосов
/ 16 декабря 2012

Элементы управления во всплывающем окне не являются частью родительского элемента всплывающего окна.

Таким образом, вы должны сначала установить фокус на самом всплывающем окне, а затем найти элемент управления TextBox внутри всплывающего окна и сфокусировать его (найдите Popup-childпо x: имя и фокус)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...