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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компонент ActionList из Delphi 
:(
    Опции темы
Akella
Дата 28.6.2011, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Есть ли компонент наподобие ActionList из Delphi?
PM MAIL   Вверх
-Mikle-
Дата 29.6.2011, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



А для "не делфистов" есть более понятное объяснение?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Akella
Дата 29.6.2011, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Да, есть.
В этом компоненте живёт список из Action`ов (действий).
Каждый Action содержит некие общие свойства: ImageIndex, Caption, HotKey, HotKey2. А также события, например, OnClick. Эти же свойства содержит большинство визуальных компонент управления: кнопки, меню.

Теперь представим, что у нас на форме лежит грид, главное меню, контекстное меню грида, панель с кнопками. 
Есть Action для редактирования записи. Т.е. просто вызывается некий код, который редактирует запись грида.
Требуется для всех элементов управления, которые лежат на форме: кнопки, меню, грид и т.д. создать событие нажатия, двойного нажатия, настроить свойства Caption, показать иконку, назначить горячие клавиши.

Создаём один Action и настраиваем его свойства, пишем код редактирования записи. Далее в гриде на двойной клик цепляем событие этого Action`а, в главное и контекстное меню определённым пунктам и кнопке на панели кнопок назначаем этот Action. Пункты меню и кнопка принимают все свойства и методы этого Action`а. И это всё в дизайне. Для меню и кнопок, и для грида не нужно писать ни единой строчки кода. Это реально RAD. Не нужно отдельно настраивать каждый пункт меню и/или кнопку.

Все Action`ы можно сгруппировать по категориям.

Вот снимок этого списка действий:
user posted image


Вот у одной из кнопок назначено действие и сразу приняты некоторые свойства:
user posted image

у грида на двойной щелчок тоже назначено это действие:
user posted image
PM MAIL   Вверх
Rohoss
Дата 29.6.2011, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Я вот читаю список тем, и тут вижу "Компонент ActionList из Delphi" сразу начинаю думать, кто бы мог создать такую тему  smile 

Нет, в  WPF/Silverlight, насколько я знаю такого компонента нет. Есть несколько подобная, но более мощная штука, Команды


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 29.6.2011, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Прочитал бегло, по диагонали, про команды. Я так понял, что там только код нажатия на кнопку или выбора меню. А у меня 3-4 кнопки и 2-3 пункта меню и для каждой кнопки и меню мне нужно отдельно вписать название, всплывающую подсказку, указать иконку, и др. свойства. Так?

Мало того, изменяя во время исполнения или во время проектирования некоторые свойства, мне нужно менять их у всех "связанных" меню и кнопок. А в ActionList(ActionManager) ябы поменял свойство только у Action, а меню и кнопки сами бы автоматом подхватили и отобразили изменения.



Но вот есть весьма древний компонент ещё для .NET 2.0
http://www.codeproject.com/KB/miscctrl/CradsActions.aspx

Я думал, что за это время в дотнете могли бы придумать что-то своё, родное.

Добавлено @ 13:04
TAction provides a RAD way

Добавлено @ 13:06
Мало того, вот есть некий уже сознанный и настроенный Action. Нужно создать очень похожий, который отличается только 1-2 свойствами. Хотелось бы иметь возможность полностью скопипастить существующий Action.

Может есть какие-нибудь сторонние компоненты/библиотеки? Telerik, DevExpress, etc.

Добавлено @ 13:08
Вот ещё нашёл мёртвый для .NET 1
http://www.torry.net/authorsmore.php?id=6349

Добавлено @ 13:11
Вот ActionManager поживее smile , но за 200 долларов О_о
http://woll2woll.net/OverviewActionManager.html
PM MAIL   Вверх
-Mikle-
Дата 29.6.2011, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Команды позволяют реализовать все это. Делается это так:
Создаешь класс команды и реализуешь в нем интерфейс ICommand. Примеров реализации - море, гугли RelayCommand или DelegateCommad. Да или сам реализуй как хочешь. В этом же классе ты можешь объявить свойства типа: Header, Description, GestureKey, GestureModifier, Icon (рекомендую тип string). Далее, объявляешь эти команды как свойства (по одному, для кажого действия). Все, можешь биндить кнопки, контекстные меню, главные меню и т.д. к одной и той же команде.

Вообще, рекомендую, тщательно ознакомиться с паттерном MVVM. С таким подходом, очень хорошо и красиво реализовываются приложения Silverlight\WPF.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Rohoss
Дата 29.6.2011, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Цитата(Akella @  29.6.2011,  13:01 Найти цитируемый пост)
Прочитал бегло, по диагонали, про команды. Я так понял, что там только код нажатия на кнопку или выбора меню. А у меня 3-4 кнопки и 2-3 пункта меню и для каждой кнопки и меню мне нужно отдельно вписать название, всплывающую подсказку, указать иконку, и др. свойства. Так?

Команду можно применять для скольких угодно элементов управления. Что касается иконки, подсказки и тд, то насколько я знаю команды не держат эти свойства, однако при желании можно добавить...

Цитата(Akella @  29.6.2011,  13:01 Найти цитируемый пост)
Я думал, что за это время в дотнете могли бы придумать что-то своё, родное.

Такая ### в .нете и нафиг не надо. И вообще, Akella, если есть желания изучать .нет то не стоит в нём искать делфи, это другая технология где думать нужно по другому. У многих делфистов почему то складывается впечатления что в .нете должно быть тоже что и в делфи только его должно быть больше и круче - но это не так. И вообще, я не знаю ни одного не визуального компонента в WPF, всё что не визуально должно быть классом и не засорять пространство дизайна!

Добавлено через 2 минуты и 27 секунд
Цитата(-Mikle- @  29.6.2011,  13:43 Найти цитируемый пост)
Вообще, рекомендую, тщательно ознакомиться с паттерном MVVM.

Рано ему ещё  smile 

Это сообщение отредактировал(а) Rohoss - 29.6.2011, 13:48


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
-Mikle-
Дата 29.6.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Цитата(Rohoss @  29.6.2011,  16:46 Найти цитируемый пост)
Рано ему ещё

Да ладно, чем раньше, тем лучше. У нас в конторе двух делфистов мне на обучение отдали. После небольших основ, я сразу им MVVM вручил. Поохали, поахали, поудивлялись и про делфи уже не вспоминают почти smile. Правда первое время только и слышал вопросы про компоненты, компоненты, компоненты... Потом их собственным заключением, как раз таки и было, что "тут надо думать совсем с другой стороны, не привычной после делфи..." - это их слова. В общем, Akella, гарантирую что .NET тебе понравится после Делфи, после того как перестроишься на другое мышление. Это точно.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Rohoss
Дата 29.6.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Цитата(-Mikle- @  29.6.2011,  13:57 Найти цитируемый пост)
Поохали, поахали, поудивлялись и про делфи уже не вспоминают почти . Правда первое время только и слышал вопросы про компоненты, компоненты, компоненты... Потом их собственным заключением, как раз таки и было, что "тут надо думать совсем с другой стороны, не привычной после делфи..." - это их слова.

Угу, я же тоже делфистом когда то был  smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 29.6.2011, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Rohoss @  29.6.2011,  13:46 Найти цитируемый пост)
Такая ### в .нете и нафиг не надо. И вообще, Akella, если есть желания изучать .нет то не стоит в нём искать делфи,

я ищу удобства, к которым привык и считаю их полезными и ускоряющими процесс разработки

Добавлено через 5 минут и 18 секунд
Цитата(Rohoss @  29.6.2011,  13:46 Найти цитируемый пост)
У многих делфистов почему то складывается впечатления что в .нете должно быть тоже что и в делфи 

А почему нет? Кто придумал C#? Вроде же кто-то из борладна.
Дельфи удобен и быстр, реально это RAD.

Добавлено через 6 минут и 47 секунд
Цитата(-Mikle- @  29.6.2011,  13:57 Найти цитируемый пост)
Правда первое время только и слышал вопросы про компоненты, компоненты, компоненты... 

Да, для дельфи ну просто океан самых разнообразных компонент.

Добавлено через 8 минут и 6 секунд
В общем давайте заканчивать холивар.
PM MAIL   Вверх
Akella
Дата 29.6.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(-Mikle- @  29.6.2011,  13:43 Найти цитируемый пост)
Вообще, рекомендую, тщательно ознакомиться с паттерном MVVM. С таким подходом, очень хорошо и красиво реализовываются приложения Silverlight\WPF.

http://msdn.microsoft.com/ru-ru/magazine/dd458800.aspx читать неперечитать  smile 
я уже столько материалов набрался читать  smile 
PM MAIL   Вверх
-Mikle-
Дата 29.6.2011, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Статья не очень удачна. Вечером постараюсь дать ссылку, где расписан сам MVVM. В этой статье MVVM рассматривается через призму Silverlight2, а это не гуд.

Цитата(Akella @  29.6.2011,  18:02 Найти цитируемый пост)
Кто придумал C#? Вроде же кто-то из борладна.

Ну так вот, люди набрались там опыта и поняли ошибку. Затем, создали в шарпе нечто более универсальное, не требующее постоянного поиска новых компонент.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Akella
Дата 29.6.2011, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(-Mikle- @  29.6.2011,  16:46 Найти цитируемый пост)
Затем, создали в шарпе нечто более универсальное, не требующее постоянного поиска новых компонент. 

не знаю не знаю smile
PM MAIL   Вверх
djoni781
Дата 27.6.2012, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

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


 




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


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

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