|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
На основной форме есть TextBlock и UserControl1. Компонент UserControl1 содержит в себе TextBox. Вот, хочется мне щелчком по TextBlock переводить фокус на этот TextBox. Почему не переводится фокус в текстовое окно по щелчку по TextBlock? Использовал usercontrol.Focus(); Даже использовал usercontrol.SetFocus(), соответственно, на usercontrol создавал функцию SetFocus, а в ней было txt.Focus() - не работает!(( Пример проекта: Основное окно: Код: xml 1. 2. 3. 4. 5. 6.
Его код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Юзер контрол: Код: xml 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 18:32 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
попробуйте через Dispatcher с приоритетом Input, должно сработать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 20:45 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Не понял( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 20:49 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
А через работу с фокусом это никак нельзя сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 20:51 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Если фокус нужен на TextBox, так ставьте его на TextBox Код: c# 1.
а не на UserControl. Свойство Focusable имеет значение true в т. ч. у UserControl. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 15:45 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Ilya81Если фокус нужен на TextBox, так ставьте его на TextBox Код: c# 1.
а не на UserControl. Свойство Focusable имеет значение true в т. ч. у UserControl. Делал уже Charles WeylandДаже использовал usercontrol.SetFocus(), соответственно, в usercontrol создавал функцию SetFocus, а в ней было txt.Focus() - не работает!(( Ситуация в этом случае получается следующая - в текстовом окне рисуется вертикальная линия (типа, "курсор ввода") - но он не мигает и ввести с клавиатуры ничего нельзя. Щёлкну мышкой (или Tab'ом нащупаю) по текстовому полю - тогда курсор замигает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 16:30 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Через Dispatcher с приоритетом Input пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 16:40 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Roman MejtesЧерез Dispatcher с приоритетом Input пробовали? Charles WeylandНе понял( я гуглил, чтобы понять, о чём речь, но не понял) поэтому не пробовал ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 16:46 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Если кто-нибудь сможет помочь с этим вопросом - будет здорово! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 17:50 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Charles WeylandЕсли кто-нибудь сможет помочь с этим вопросом - будет здорово! как то так, Dispatcher тут берётся в рамках класса наследованного от DispatcherObject. Если метод статический то можно получить текущий диспатчер Dispatcher.CurrentDispatcher Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 18:40 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
а что это за "nameof" и "PART_ListBox"? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 18:54 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 18:57 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Charles Weyland сори PART_ListBox надо заменить на element, nameof(element) можно заменить на @"element" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 19:17 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6.
вот так будет правильно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 19:27 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
ноль реакции. Что раньше, что сейчас. Вот фрагмент кода: Код: c# 1. 2. 3. 4.
Функция выполняется, фокус не передаётся :( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 00:13 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
о, вот так получилось: Код: c# 1. 2. 3. 4.
а уже внутри функции SetFocus() прописал FocusByDispatcher(txtMytextbox); Почему не работает обычный Focus() в данном случае? Даже если внутри SetFocus прописать txtMytextbox.Focus() - появится вертикальный курсор, но фокус будет витать где-то в другом месте.. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 00:21 |
|
Невозможно в текстовое окно дочернего компонента установить фокус
|
|||
---|---|---|---|
#18+
Charles Weyland, Попробуй Keyboard.Focus(theButtonThatYouWantToFocus); http://stackoverflow.com/questions/19289994/get-and-restore-wpf-keyboard-focus ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 15:50 |
|
|
start [/forum/topic.php?fid=21&fpage=10&tid=1440619]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 399ms |
0 / 0 |