![]() |
|
Модераторы: LSD |
![]()
|
|
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 1 Всего: 22 |
mr.DUDA, а WPF поддерживает паттерн MVC?
Поясню, вот в WinForms если существует какой-либо массив структур/классов, то для визуализации его в виде, например, списка необходимо в цикле пройти по элементам этого массива и добавить экземпляры специальных классов в Items. В Java Swing для аналогичного решения используется MVC, т.е. создается реализация интерфейса модели, и контрол производит запросы к этой модели при необходимости. Плюсы: более простая и красивая реализация, удобство при изменении массива (модель только отсылает уведомление о своем изменении). |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 4 Всего: 87 |
$tatic, конечно! Binding никто не отменял. К примеру, тому же листбоксу можно присвоить коллекцию обьектов. Если у этих объектов реализован интерфейс INotifyPropertyChanged, то все изменения в обьектах будут отображаться и на контролах. Более того, можно у листбокса определить "модель представления", точнее, задать как каждый обьект из коллекции будет отображён (DataTemplate). Не знаю как это делается в Яве (без саркарзма - просто не знаю), но в WPF - элементарно (читай, поклацать в Бленде).
|
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 4 Всего: 87 |
Пример того, о чём я уже сказал - тут листбокс, в который подаётс коллекция обьектов класса "завадение". Почти вся информация из объектов отображена в каждом отдельном итеме (название заведения, картинки справа от него, короткое описание и "свойства" заведения). Приложение на восьми языках, поэтому класс "заведение" реализует интерфейс INotifyPropertyChanged. При переключении языка сразу же меняется язык в листбоксе.
да, кстати, не смотрите что это мокап - то же самое есть написанное и работающее, просто скрин снять не с чего на данный момент Это сообщение отредактировал(а) Kefir - 1.5.2008, 14:02 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Ну, если есть возможность ручной прорисовке (коея, как я думаю, юзалась в твоём примере) - кастомизировать можно, что угодно. Речь, как я понимаю, про кастомизацию без лишних телодвижений. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 4 Всего: 232 |
Любитель, от ручной прорисовки никуда не уйдёшь, даже с Qt, если тебе нужен нетормозючий и красивый интерфейс. Одними битмапами не отделаться.
Добавлено через 5 секунд ИМХО ! Добавлено через 17 секунд -------------------- ![]() |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Ну, битмапы битмапами, конечно, речь не о том... Речь о наиболее декларативной кастомизации. ИМХО у ВинФормз с этим не особо (почти никак). Про ВПФ я, конечно, молчу - спорить не буду |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 4 Всего: 232 |
А что, у мфц или Qt она присутствует? -------------------- ![]() |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Я говорил - у куте есть стайлшиты. Всё-таки что-то да есть
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 4 Всего: 232 |
С этим не поспоришь. -------------------- ![]() |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |