![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| U237 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Как правильно дополнять динамически меню на C#?
скажем есть такой код в xaml
В коде:
Это работает, а как создать подменю? Как обращаться к новым пунктам? Как повесить обработчик на созданный пункт меню? |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 2 Всего: 62 |
U237, не проверял, но думаю, что метод Add возвращает ссылку на объект нового элемента меню. А если у Вас есть ссылка на объект, то все вышеперечисленные действия
становятся тривиальными. Это сообщение отредактировал(а) Idsa - 25.11.2008, 06:27 |
|||
|
||||
| U237 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Метод Add возвращает значение типа int. Судя по всему это номер элемента в массиве. Но получить доступ к этому элементу у меня не получается, код компилируется, а при выполнении происходит исключение.
Странно и то что изменили конструктор теперь он не принимает ни одного параметра.
|
||||
|
|||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Это сделано для того, чтобы в дизайнере всё нормально отображалось. MenuItem myMenu = new MenuItem(); U237, какое исключение кидается? -------------------- СУВ, Partizan. |
|||
|
||||
| rooks |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
Лучше явно создавать объекты, которые нужно добавлять в меню, тогда потом проще кодить будет. Вот так, например:
Кстати из примера, думаю, понятно зачем убрали параметры у конструкторов
Это сообщение отредактировал(а) rooks - 25.11.2008, 20:11 |
||||||
|
|||||||
| U237 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Код и идея понятен и вроде работает но названия самого меню не отображается не в основном меню не в подменю.
|
|||
|
||||
| U237 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Все разобрался всем спасибо!
Поле называется по другому.
Хотя все равно есть странности этот код работает.
а вот этот код
Утверждает что поля Click не существует. |
||||||
|
|||||||
| rooks |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
C помощью object initializers можно устанавливать значения полей и свойств, а Click - это событие, так что придется использовать первый вариант. Или такой:
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |