Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
#1

Навигация в меню (ContextMenu) клавишами устройства (C#, WinCE5.0, .NET3.5) - Windows Phone

07.08.2015, 16:01. Просмотров 325. Ответов 12
Метки нет (Все метки)

Доброго времени суток!
Есть меню ContextMenu, есть хардверные клавиши - стреки и Enter.
Проблема в следующем:
По нажатии клавиши появляется меню, по нему можно перемещаться вверх-вниз - пункты меню подсвечиваются, но...
Ничего более не работает. Надо что бы по нажатию стрелки вправо происходил выбор выделенного пункта меню, как будто мы на него нажали. в крайнем случае, можно осуществлять выбор клавишей Enter, т.к. меню является модальным и не закрывается по нажатии стрелки вправо.
Как это решить или хотя бы в какую сторону копать? Неделю с этим разобраться не могу...
Заранее благодарю за адекватные ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2015, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Навигация в меню (ContextMenu) клавишами устройства (C#, WinCE5.0, .NET3.5) (Windows Phone):

.NET 4.x ContextMenu вложенные элементы меню. - C# WPF
Помогите сделать вложенные элемементы меню в пункт "Просмотр", чтобы они работали. Вложить надо пункты, что закомментированы. ...

ContextMenu - два элемента на одной строчке в меню - C# WPF
Всем добрый день. Подскажите, как можно в XAML реализовать на одном из элементов ContextMenu 2 объекта Например, кнопку и левее её...

Навигация меню - HTML, CSS
Перенес окно поиска под шапку, но столкнулся с проблемой, что разделы в таком случае не в один ряд выстроены, т.е. при добавлении разделов...

Выпадающее меню - навигация - JavaScript
Здравствуйте! Я создаю html сайт и заказчик попросил сделать выпадающее меню по типу: Пункт-1 -подменю -подменю Пункт-2 ...

AutoCWM навигация в меню - Android
Установил autoCWM 5.5.0.4 Телефон Lenovo A316i Перезапускаю телефон,захожу в рекавери, но вот блин не задача, как выбрать пункт в...

Навигация по меню с помощью клавиш - C (СИ)
Появился вопрос,как сделать в си чтобы в консольном окне( В черненьком)) ) по меню можно было двигаться с помощью нажатых клавиш вверх и...

12
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
07.08.2015, 16:14 #2
вопрос скорее не по теме:

а я так понимаю, что сейчас старьё дикое.
можете мне сказать, где это используется?
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
10.08.2015, 08:05  [ТС] #3
Терминалы сбора данных.
А по теме можете чем помочь? Старьё, ведь, многим известно быть должно...
0
xinvestoriginal
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 80
10.08.2015, 22:28 #4
попробуйте посмотреть список событий ContextMenu.Events, не знаю насколько совместимо с мобильным фреймворком, если свойство есть, попробуйте добавить обработчик нужной клавиши.
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
11.08.2015, 08:48  [ТС] #5
xinvestoriginal, в том-то и беда, у ContextMenu только событие Popup, а у MenuItem - Popup и Click. Свойства Event нет ни у одного...
Может есть возможность как-то копировать элемент и привязать событие (подцепиться) к внутреннему событию? Всё-равно ведь, выделение (подсветка) пункта меню происходит по внутреннему событию элемента (стартует его прорисовка).

Добавлено через 4 минуты
Может наследованием? Только не хочет ContextMenu наследоваться...

Добавлено через 1 минуту
Вообще, при наследовании можно переписывать внутренние методы и/или делать их внешними?
0
xinvestoriginal
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 80
11.08.2015, 08:50 #6
возможно проще создать собственное окно, с итемсами и уже в нём делать навигацию как удобно.
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
11.08.2015, 08:57  [ТС] #7
Цитата Сообщение от xinvestoriginal Посмотреть сообщение
создать собственное окно
Как?
Цитата Сообщение от xinvestoriginal Посмотреть сообщение
посмотреть список событий ContextMenu.Events
На строку
C#
1
string strE = cMenu.contextMenu1.Events.ToString();
студия ответила:
Доступ к защищенному члену "System.ComponentModel.Component.Events" через квалификатор типа "System.Windows.Forms.ContextMenu" невозможен; квалификатор должен иметь тип "TSD.Form1" (или производный от него тип)
0
xinvestoriginal
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 80
11.08.2015, 09:05 #8
Цитата Сообщение от DMF Посмотреть сообщение
Сообщение от xinvestoriginal
создать собственное окно
Как?
неужели гугл и мсдн заблокировали? ну вот, за вас нашёл:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public void CreateMyForm()
{
   // Create a new instance of the form.
   Form form1 = new Form();
   // Create two buttons to use as the accept and cancel buttons.
   Button button1 = new Button ();
   Button button2 = new Button ();
 
   // Set the text of button1 to "OK".
   button1.Text = "OK";
   // Set the position of the button on the form.
   button1.Location = new Point (10, 10);
   // Set the text of button2 to "Cancel".
   button2.Text = "Cancel";
   // Set the position of the button based on the location of button1.
   button2.Location
      = new Point (button1.Left, button1.Height + button1.Top + 10);
   // Set the caption bar text of the form.   
   form1.Text = "My Dialog Box";
   // Display a help button on the form.
   form1.HelpButton = true;
 
   // Define the border style of the form to a dialog box.
   form1.FormBorderStyle = FormBorderStyle.FixedDialog;
   // Set the MaximizeBox to false to remove the maximize box.
   form1.MaximizeBox = false;
   // Set the MinimizeBox to false to remove the minimize box.
   form1.MinimizeBox = false;
   // Set the accept button of the form to button1.
   form1.AcceptButton = button1;
   // Set the cancel button of the form to button2.
   form1.CancelButton = button2;
   // Set the start position of the form to the center of the screen.
   form1.StartPosition = FormStartPosition.CenterScreen;
 
   // Add button1 to the form.
   form1.Controls.Add(button1);
   // Add button2 to the form.
   form1.Controls.Add(button2);
 
   // Display the form as a modal dialog box.
   form1.ShowDialog();
}
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
11.08.2015, 09:16  [ТС] #9
xinvestoriginal, простите, но это никак не похоже на меню, да и нет в Compact Framework'е таких элементов, как диалоги и кнопки помощи, например.
Да и задача - навигация по MainMenu. Т.к. к MainMenu нельзя привязать нажатие клавиши (я не нашёл способа) я клавишей открываю ContextMenu, т.к. визуально они идентичны. Вопрос, как программе понять какой пункт в нём выбран (подсвечен).
0
xinvestoriginal
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 80
11.08.2015, 09:42 #10
Цитата Сообщение от DMF Посмотреть сообщение
Т.к. к MainMenu нельзя привязать нажатие клавиши
т.е. изначальная задача- навигация по MainMenu кнопками?
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
11.08.2015, 09:51  [ТС] #11
Да, клавишами устройства. Но там разницы практически нет. ContextMenu как бы эмулиирует первый пункт MainMenu.
0
xinvestoriginal
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 80
11.08.2015, 09:59 #12
Цитата Сообщение от DMF Посмотреть сообщение
Да, клавишами устройства.
априори это должно работать по умолчанию.
0
DMF
6 / 6 / 0
Регистрация: 16.04.2015
Сообщений: 114
11.08.2015, 10:23  [ТС] #13
Цитата Сообщение от xinvestoriginal Посмотреть сообщение
априори это должно работать по умолчанию.
Должно...
0
11.08.2015, 10:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2015, 10:23
Привет! Вот еще темы с ответами:

постраничная навигация неправильно выводит меню - PHP БД
Доброго времени суток. У меня есть код постраничной навигации// Устанавливаем соединение с базой данных include './libs/mysql.php'; ...

Навигация переход на предыдущую и следующую страницу в выпадающем меню - JavaScript
Проблема такая: есть выпадающий список <SELECT NAME="navSelect" ONCHANGE="top.location.href = this.options.value" class="m">...

Создание меню в консольном приложении и навигация по нему с помощью клавиш - C#
У меня стоит такая задача, допустим есть в консоле такая менюшка: Выберите действие: 1) первое действие 2) Второе ..... ...

Метод Assembly.LoadFrom (System.Reflection) .net3.5 и .net4.0 - C#
Всем привет! Возникла проблема такого плана. Утилита была написана под .net 3.5, решил я сменить фреймворк на 4 после этого перестали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru