Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Focus в TextBox при старте приложения, SilverLight 
:(
    Опции темы
dazy
Дата 25.2.2009, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



Пусть на форме есть textBox. Как при старте приложения, установить фокус в этот текстбокс. Типа как на я.ру - сайт загрузился, фокус стоит в поле ввода. Как решить эту задачу в сильверлайте?
PM MAIL   Вверх
Человек01
Дата 26.2.2009, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 20.2.2009
Где: Абакан, респ. Хак асия, Россия

Репутация: 2
Всего: 2



Как я понял WPF и SilverLight смежные технологии, вернее сказать, похожие для программирования, ну не суть как важно.
dazy а нет в SilverLight какого нибудь события при загрузке, раньше был Showing или что то подобное, в WPFе можно повеситься на обработку события Loaded
Пример:
Код

this.Loaded += new RoutedEventHandler(Window1_Loaded);


и собственно реализация Loaded
Код

void Window1_Loaded(object sender, RoutedEventArgs e)
{
    textBox1.Focus();
}


То есть сразу после загрузки всего всего необходимого нашему приложению мы просим его взять textBox1 в фокус и вуаля.
Для SilverLight прокатит? Я просто не работал с этим зверем. 
P.S.:Если предложение глупое камнями не кидаться  smile .

Это сообщение отредактировал(а) Человек01 - 26.2.2009, 06:35
PM MAIL ICQ   Вверх
dazy
Дата 26.2.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



Человек01, я тоже с этого начал. 
Loaded есть, но в SL нет окна как такового.

Пробовал засунуть в инициализацию, в loaded для грида, но не срабатывает. Т.е. событие отрабатывает, но фокус не передается.
Возможно страничка в которую внедрен SL как то должна передать фокус этому объекту SL. Но как?
PM MAIL   Вверх
Человек01
Дата 26.2.2009, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 20.2.2009
Где: Абакан, респ. Хак асия, Россия

Репутация: 2
Всего: 2



А если сразу после всеобщего loaded пробежаться по всем элементам с целью выяснения кто из них IsFocused, а потом на этого индивида возложить ответственность за передачу фокуса на textbox1. 
Вдруг вообще ни один из элементов твоего "приложения"(не знаю как в SilverLight оно называется правильно) не имеет фокуса, значит в SilverLight требуется сначала, как то передать фокус вообще твоему "приложению", а потом уже его(в смысле фокус) швырять туда сюда.
Я бы так делал, не знаю применимо к SilverLight или нет...
PM MAIL ICQ   Вверх
dazy
Дата 26.2.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



Вроде и решил, а вроде и нет.

Код

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            System.Windows.Browser.HtmlPage.Plugin.Focus();
            tb2.Focus();
        }


Код работает, но что странно - в ИЕ работает, в Хроме не работает. 

Вот ведь, разнообразие браузеров.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.