Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
"Как в сказке, чем дальше - тем страшнее" (с) Сабж 1: Не для слабонервных Сабж 2: Почему KeyBinding можно указывать только форме, или как проще всего мутить быстрые клавиши для команд в документах, живущих в TabbedMDI оболочке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 11:44 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К"Как в сказке, чем дальше - тем страшнее" (с) Сабж 1: Не для слабонервных Сабж 2: Почему KeyBinding можно указывать только форме, или как проще всего мутить быстрые клавиши для команд в документах, живущих в TabbedMDI оболочке. 1. Подобного маразма,как в этой статье, еще не встречал. Рядом MVVM Part 6: InteractingViewModel / IUserInteracter]ссылка, где показано(к слову, весьма корявый вариант), как ViewModel может контролировать закрытие окна. 2. А зачем нужна привязка команд через код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 18:37 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Silverlight1. Подобного маразма,как в этой статье, еще не встречал. Рядом MVVM Part 6: InteractingViewModel / IUserInteracter]ссылка, где показано(к слову, весьма корявый вариант), как ViewModel может контролировать закрытие окна.Причём тут MVVM. Там речь о том, как сделать типовой внешний вид окна диалога. Впрочем, проблема автоматически решится переходом на SL. :-) Silverlight2. А зачем нужна привязка команд через код?Ну имеем TabbedMDI. Например, кнопка F4 имеет различное значение в зависимости от активного документа. Видимо придётся как-то делать через KeyDown контрола... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 20:40 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
автор Там речь о том, как сделать типовой внешний вид окна диалога Делается типовая заготовка, при вызове( DialogWindow<View>(ViewModel viewModel) автоматически создается view c типом View и присваивается контексту, viewModel отвечает за валидацию и закрытие окна. Все стандартно, в общем варианте и без всяких мультиков с хаками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 20:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А MVVM при том, что без него все будет через одно место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 20:51 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Silverlightавтор Там речь о том, как сделать типовой внешний вид окна диалога Делается типовая заготовка, при вызове( DialogWindow<View>(ViewModel viewModel) автоматически создается view c типом View и присваивается контексту, viewModel отвечает за валидацию и закрытие окна. Все стандартно, в общем варианте и без всяких мультиков с хаками.Да это всё понятно. Вопрос в том, как сделать "типовую заготовку" окна, в которую будет вставляться контрол с контентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 22:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SilverlightДелается типовая заготовка, при вызове( DialogWindow<View>(ViewModel viewModel) автоматически создается view c типом View и присваивается контексту, viewModel отвечает за валидацию и закрытие окна . Если уж DialogWindow, то может он и поведение к View подключит в соответствии со своим названием - нафига vm этим загружать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 15:05 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Где взять исходники Microsoft.Practices.ServiceLocation.dll ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 10:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, нашёл ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 10:58 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Roman S. GolubinSilverlightДелается типовая заготовка, при вызове( DialogWindow<View>(ViewModel viewModel) автоматически создается view c типом View и присваивается контексту, viewModel отвечает за валидацию и закрытие окна . Если уж DialogWindow, то может он и поведение к View подключит в соответствии со своим названием - нафига vm этим загружать? Показан упрощенный и более понятный вариант(vm там ничем не загружается). У меня ShowDialog(ViewModel viewModel) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 13:00 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
И чё, в Silverlight никак не сделать человеческий ShowDialog с циклом обработки сообщений внутри него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 15:14 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К, так :) кто же принципы десктопа применяет в вебе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 17:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
В противном случае, зачем тогда сделали контрол, имитирующий окно (модальное в том числе). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 18:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К, чтобы переманить тебя, сделать лояльным :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 19:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Dispatcher.Run() в Silverlight есть? И где вообще msdn по Silverlight? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 20:17 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiK... сделать лояльным :)Бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2010, 20:17 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К Нупестец Ухаха... Извиняюсь, что смешного по ссылке? То что CTP не до конца оптимизирован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 21:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Roman S. GolubinАлексей К Нупестец Ухаха... Извиняюсь, что смешного по ссылке? То что CTP не до конца оптимизирован?А то, что ListCollectionView на сегодняшний день работает как описано в ссылке. Интересно, в .Net 4 это изменится? Сомневаюсь. Чё, трудно было через emit сделать? Там надо-то всего лиш заэмитить доступ с значениям свойств/полей в реализации PropertyDescriptor. Трудно переделать существующий? Ну добавить новый какой-нибудь EmitTypeDescriptor. В чём проблема? Видимо опять придётся брать EditableList из BLToolkit. ЗЫ: Детский сад... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 06:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К, и даже после этого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 11:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
это был вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 11:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Писать компараторы сущностей вручную - это "не наш метод" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 12:41 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ага, лучше взять стороннюю приладу. не, не мой выбор. попользуй тогда уж девок, хотя и за денежку, неплохо сделали. мне понравилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 12:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Progaага, лучше взять стороннюю приладу.А выбора не остаётся. Причём, эта "сторонняя прилада" отлично работает. Это как раз тот случай, когда писали люди для людей, а не какие-то индусы-теоретики для непонятно кого Progaпопользуй тогда уж девок, хотя и за денежку, неплохо сделали. мне понравилось.Я пока рассматриваю "халявные" способы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 13:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SL грид от девок есть фриварная версия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 17:31 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Я пока про WPF. Да и не в гриде тут дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 19:14 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Я не понял, а что, в WPF полная задница с наследованием окон Window? Пестец, от чего ушли и к чему пришли P.S. Гавнокод на юзерконтролах не предлагать. P.S2. Требуется "человеческое" наследование форм, как это сделано во всех нормальных языках программирования и технологиях, в том числе как и винформзе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 12:41 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка, тебе просто надо оставаться в сфере winforms. wpf не для тебя. поэтому у тебя сразу и ничего не сошлось в голове :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiK Бабуль, а по делу что, сфинктер сжался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:18 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка, по делу: просто твой мозг еще не ушел от winforms так что переходить на wpf еще не время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiKКуропаточка, по делу: просто твой мозг еще не ушел от winforms так что переходить на wpf еще не время Опять заднюю включаешь, тупик? То есть наследование - это зло, я правильно понял? И WPF - это "нечто", где наследование форм не нужно по определению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А ваще мне нравится твоя дятельная логика, сынок :) - Вышел новый автомобиль с багами и недоработками! - Ёпт, а что ж баги-то и недоработки в нем? - "Просто твой мозг еще не ушел от предыдущей модели, так что переходить на новую еще не время" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка, не не. ты заметь, то что ты додумал, я этого не говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка- Вышел новый автомобиль с багами и недоработками! ))) так это легко переиначить: - Вышло новое средство передвижение (автомобиль)! - (ковбои) Какое-то оно неправильное - шпоры некуда втыкать (неправильная лошадь)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiKКуропаточка, не не. ты заметь, то что ты додумал, я этого не говорил. Эээ, так не честно засовывать язык в одно место... Продолжай дальше говорить про "правильность" WPF в разрезе того, что наследование форм - это "плохо". Ась? :) LRКуропаточка- Вышел новый автомобиль с багами и недоработками! ))) так это легко переиначить: - Вышло новое средство передвижение (автомобиль)! - (ковбои) Какое-то оно неправильное - шпоры некуда втыкать (неправильная лошадь)! Чтобы переиначивать - нужны аргументы. У тебя есть аргументы того, что наследование форм - это плохо? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
КуропаточкаЧтобы переиначивать - нужны аргументы. У тебя есть аргументы того, что наследование форм - это плохо? :)) а разве я говорил, что лошадь - это плохо? вовсе нет, инструмент есть инструмент, если умеешь пользоваться - споры вроде как и не нужны.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:45 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
LRКуропаточкаЧтобы переиначивать - нужны аргументы. У тебя есть аргументы того, что наследование форм - это плохо? :)) а разве я говорил, что лошадь - это плохо? вовсе нет, инструмент есть инструмент, если умеешь пользоваться - споры вроде как и не нужны.... Не нужно разделять вин разработку на лошадей и автомобилей, тем более одной и той же платформы. Назови мне хоть один современный популярный язык программирования, который запрещает это делать? А покрывать недоработку в WPF по данному вопросу (как и массу других недоработок в силу спешности выпуска релиза) - это самоутопия :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
"МСУ", да ты навязываешь свои выдуммки. тебе уже сказали, что тебе придется ездить на лошади в силу твоего winforms-мышления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiK"МСУ", да ты навязываешь свои выдуммки. тебе уже сказали, что тебе придется ездить на лошади в силу твоего winforms-мышления. Ты нарочно под дурачка-попрыгунчика косишь? Десятый раз спрашиваю : наследование форм - это не правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Я не понял, мальчики, чего закисли? AlexeiK, сынок, где твои буквы по проблеме наследования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 15:19 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка, зачем киснуть? Это у тебя проблемы с наследованием, у нас их нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 16:31 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SilverlightКуропаточка, зачем киснуть? Это у тебя проблемы с наследованием, у нас их нет Ты уверен, милок? :) Вот тебе хук с правой под дышло, Севушко: http://connect.microsoft.com/VisualStudio/feedback/details/289715/wpf-xaml-visual-inheritance ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 16:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Порадовал жалостный пост от некого zaki786: zaki786Posted by zaki786 on 05.04.2010 at 20:40 Visual Inheritance worked fine till Windows Forms... Please don't stop it in WPF. Thanks P.S. Мальчики, что еще умного расскажете про "отточенную" до нормального выхлопа технологию WPF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 16:46 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Куропаточка, ты слишком просто в своей тактике. придумываешь вопросы сам. и заставляешь других отвечать на них , через хамство. притом в вопросах участвуют буквы из твоих мыслей о проблемах, как же это так, все вокруг юзают wpf и все хорошо, а я вот никак не могу додуматься, как приступиться к оному. и ты такой выбежал в белых перьях , на ринг, и пытаешься кидать яйца в непонятно кого. ты тут один . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 17:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
КуропаточкаSilverlightКуропаточка, зачем киснуть? Это у тебя проблемы с наследованием, у нас их нет Ты уверен, милок? :) Вот тебе хук с правой под дышло, Севушко: http://connect.microsoft.com/VisualStudio/feedback/details/289715/wpf-xaml-visual-inheritance Ребята сами наступают себе на одно место, а потом пытаются бежать. Потому его и нет, мсу, чтобы не было возможности некоторым отстрелить себе ногу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 17:14 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiKпридумываешь вопросы сам. и заставляешь других отвечать на них , через хамство . Пипец, я тебя фигею :) => AlexeiKтебе просто надо оставаться в сфере winforms. wpf не для тебя. поэтому у тебя сразу и ничего не сошлось в голове :) AlexeiKпросто твой мозг еще не ушел от winforms так что переходить на wpf еще не время AlexeiKтебе придется ездить на лошади в силу твоего winforms-мышления. Так что там про "хамство"-то? И ещё. Если не в теме - лучше помолчи. SilverlightРебята сами наступают себе на одно место, а потом пытаются бежать. Опять за других отвечаешь? Ответь на вопрос: наследование окон - это плохая практика? Только ответь на вопрос, а не виляй из стороны в сторону. P.S. Реально детсад - ньюдженерейшен ламеры доказывают, что наследование - это плохо (так как криворукие врф'о-строители недоклепали эту "фичу"), цирк P.S2. Севушко, ты продолжаешь жечь напалмиком... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 17:45 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
MCу, а почему Куропаточка, а не Зайчик или Кроличек? Очень трогательно, мило и пушисто. Решил сменить имидж или опять забанили? ЗЫ Вся идеология xaml построена на композиции, за счет этого достигается гибкость и не нужно на каждый чих создавать новые контролы, как в WinForms. Если тебе нравится этот мазахизм, то, как тебе уже советывали, оставайся на формачках. Если не понимаешь, как можно обойтись без наследования, то WPF здесь не причем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 18:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
OFF МакДональд про SL3 книжку выпустил. Уже перевели. Что-то на англ. не нашёл в своих закромах. Кто-нибудь видел уже? Высоковероятно что УГ, конечно, но всё же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 18:13 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Лучше читать буквари по WPF. По SL все написаны под копирку, проку от них мало. ЗЫ Этот тоже не помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 18:42 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SilverlightЗЫ Вся идеология xaml построена на композиции, за счет этого достигается гибкость и не нужно на каждый чих создавать новые контролы, как в WinForms. Если тебе нравится этот мазахизм, то, как тебе уже советывали, оставайся на формачках. Если не понимаешь, как можно обойтись без наследования, то WPF здесь не причем. Чувак, какая нах композиция, тебя о наследовании, как об основопологающем ките ООП, спрашивают. Чё дурку врубаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 22:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
buredOFF МакДональд ... Да, короче Макдональд опять капусту рубит. Нашёл в сети англ. версию. Вот сравнение содержания 2-х его книг. Pro Silverlight 2 in C# 2008 уже куплена на русском. Хватит. Pro Silverlight 2 in C# 2008CHAPTER 1 Introducing Silverlight CHAPTER 2 XAML CHAPTER 3 Layout CHAPTER 4 Dependency Properties and Routed Events CHAPTER 5 Elements CHAPTER 6 The Application Model CHAPTER 7 Shapes and Geometries CHAPTER 8 Brushes and Transforms CHAPTER 9 Animation CHAPTER 10 Sound, Video, and Deep Zoom. CHAPTER 11 Styles, Templates, and Custom Controls CHAPTER 12 Browser Integration CHAPTER 13 ASP.NET and Web Services CHAPTER 14 Data Binding CHAPTER 15 Isolated Storage CHAPTER 16 Multithreading CHAPTER 17 Networking Pro Silverlight 3 in C#Chapter 1: Introducing Silverlight Chapter 2: XAML Chapter 3: Layout Chapter 4:Dependency Properties and Routed Events Chapter 5: Elements Chapter 6: The Application Model Chapter 7: Navigation Chapter 8: Shapes and Geometries Chapter 9: Brushes, Transforms,and Bitmaps Chapter 10: Animation Chapter 11: Sound, Video, and Deep Zoom Chapter 12: Styles and Behaviors Chapter 13: Templates and Custom Controls Chapter 14: Browser Integration. Chapter 15: ASP.NET Web Services. Chapter 16: Data Binding Chapter 17: Data Controls Chapter 18: Isolated Storage. Chapter 19: Multithreading Chapter 20: Networking ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 00:59 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ребята нашли золотую жилу - каждые 8мес новая книжка. 13 выйдет Sl 4.0, появятся новые клоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 08:03 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ComboBox, а возможно и сам Selector... При присваивании значения свойству ItemsSource, SelectedValue автоматически присваивается null. Как следствие, null присваивается соответствующему свойству сущности через датабиндинг. Это не совсем то совсем не то что хотелось бы... Интересно, что же помешало автору сбрасывать SelectedValue только в случае, если в новом наборе данных не найдена соответствующая запись. Вспомнилась песня "Я убью тебя, лодочник..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2010, 11:26 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
В общем, получился такой костыль, вроде работает: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2010, 07:49 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Лёш, зачем такие бубны? Достаточно на проблему глянуть под другим углом. Например, биндим модель к контексту, в модели предоставляем проперть, к которой декларативно будет связан наш SelectedValue. Код: plaintext 1. 2. 3. Код: plaintext Модель Код: plaintext 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. Тем самым, мы просто проинициализировали конструктор модели значением по умолчанию. P.S. Этим значением может служить, как вариант, первый элемент коллекции для комбобокса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 23:13 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаНужно иметь возможность присваивания ItemsSource не только перед присваиванием SelectedValue, но и после этого. Т. е. в произвольном порядке. Если вынести из конструктора код: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 06:05 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Поторопился с предыдущим постом, не читайте его. Почему-то не хочется выносить этот код в "маленькую" вьюмодельку чисто для комбобокса. На мой взгляд, это может накладывать некоторые ограничения на прикладной код и делать его менее удобным. Впрочем, позже ещё об этом подумаю, спасибо. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 06:23 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Комбобоксы сами по себе не живут. Они должны изменять значение, лучше всего это делать c помощью ViewModel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 08:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SilverlightКомбобоксы сами по себе не живут. Они должны изменять значение, лучше всего это делать c помощью ViewModel.О чём и речь. Просто хочется, чтобы это выглядело примерно так, и не было дополнительных ограничений по порядку присваивания свойств Product и Categories. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 09:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КПочему-то не хочется выносить этот код в "маленькую" вьюмодельку чисто для комбобокса. Выносить вьюмодельку чисто для комбобокса не нужно. У Вас должна быть вью модель полностью для всего представления. Типа паттерны, веяния моды и современности :) Алексей КНа мой взгляд, это может накладывать некоторые ограничения на прикладной код и делать его менее удобным. Впрочем, позже ещё об этом подумаю, спасибо. :-) Тем самым Вы нагло упаковали MVVM в печь :) А зря ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 09:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаАлексей КПочему-то не хочется выносить этот код в "маленькую" вьюмодельку чисто для комбобокса. Выносить вьюмодельку чисто для комбобокса не нужно. У Вас должна быть вью модель полностью для всего представления. Типа паттерны, веяния моды и современности :)Тем более, выносить "это" в прикладной код глупо. МусичкаАлексей КНа мой взгляд, это может накладывать некоторые ограничения на прикладной код и делать его менее удобным. Впрочем, позже ещё об этом подумаю, спасибо. :-) Тем самым Вы нагло упаковали MVVM в печь :) А зря Почему? Посмотрите на мой предыдущий пост, там всё "в рамках концепции". ЗЫ: Тут вопрос не "как это делать", а "как это делать удобнее". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 10:11 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КТем более, выносить "это" в прикладной код глупо. Другими словами, разделять представление и его логику - глупый подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 10:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
авторАлексей К, ЗЫ: Тут вопрос не "как это делать", а "как это делать удобнее". МСУ учись, так думать. это двигатель прогресса. А то уже утомили мозговые коробки ,которые в цикле for each перебирают шаблоны,которые им написали дяди в своих книжках. это как зомбоящик, который медленно приводит к тому, что человек перестает иметь свою точку зрения на события вокруг. тут такое же,только в профиль. поэтому и развития никакого нету в ИС системах. а то аж смешно когда видишь, недовольных, которые заметил, что ктото сошел с рельс MVVM. обида за себя видимо. за то ,что сходить с рельс не всем дано. я даже бывает радуюсь, что так много народу сидят на всяких рельсах типа mvvm и других. для других больше места остается под креатив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 10:28 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаАлексей КТем более, выносить "это" в прикладной код глупо. Другими словами, разделять представление и его логику - глупый подход?Скажем так: текущая реализация представления мешает реализовать логику модели. Отсюда вывод - нужно изменить представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 10:44 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КСкажем так: текущая реализация представления мешает реализовать логику модели. Отсюда вывод - нужно изменить представление. То есть, "косячная" реализация представления - это, значит, не глупый подход, а человеческое отделение представления от его логики - глупый подход? Я правильно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 10:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаТо есть, "косячная" реализация представления - это, значит, не глупый подходЯ чтоли комбобокс писал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 11:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМусичкаТо есть, "косячная" реализация представления - это, значит, не глупый подходЯ чтоли комбобокс писал? Комбобокс - это не представление, а элемент представления. Хотите нормально взаимодействовать с моделью и представлением? Пишите ViewModel. P.S. И комбобокс тут не при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 11:35 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаКомбобокс - это не представление, а элемент представления.Это что-то меняет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 11:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМусичкаКомбобокс - это не представление, а элемент представления.Это что-то меняет? - Автомобиль - это водянистая серая жижа с добавками азотной кислоты, имеющая специфический запах тлеющей бумаги - Ты чё? Автомобиль - это тупо средство передвижения, с мотором, рулём, дверьми и т.д. - Это что-то меняет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 11:46 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Тут можно вечно рассуждать о вечном. Приведите пример прикладного кода аналогичный этому - сравним. То что Вы предлагали в начале обсуждения не решает поставленную задачу. По вашему примеру я могу лиш предполагать, как бы вы её решили. Возможно я ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 11:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КПриведите пример прикладного кода аналогичный этому - сравним. Я же привёл уже на ViewModel , что не устроило-то? [quot Алексей К]То что Вы предлагали в начале обсуждения не решает поставленную задачу. По вашему примеру я могу лиш предполагать, как бы вы её решили. Возможно я ошибаюсь. Как не решает? Сменили источник, комбобокс автоматически подхватит забайденный SelectedValue к проперти PhonebookEntry, которая в свою очередь проинициализировалась в конструкторе ViewModel. Этаким способом я как-бы "обманул" комбобокс, подпихнув под него конкретное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 12:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КПриведите пример прикладного кода аналогичный этому - сравним. Я же привёл уже на ViewModel , что не устроило-то? Алексей КТо что Вы предлагали в начале обсуждения не решает поставленную задачу. По вашему примеру я могу лиш предполагать, как бы вы её решили. Возможно я ошибаюсь. Как не решает? Сменили источник, комбобокс автоматически подхватит забайденный SelectedValue к проперти PhonebookEntry, которая в свою очередь проинициализировалась в конструкторе ViewModel. Этаким способом я как-бы "обманул" комбобокс, подпихнув под него конкретное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 12:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаКак не решает? Сменили источник, комбобокс автоматически подхватит забайденный SelectedValue к проперти PhonebookEntry, которая в свою очередь проинициализировалась в конструкторе ViewModel. Этаким способом я как-бы "обманул" комбобокс, подпихнув под него конкретное значение. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Так? И это писать для всех 327 комбобоксов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 13:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КТак? И это писать для всех 327 комбобоксов? У Вас на окне 327 комбобоксов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 13:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Еще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :) P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 13:51 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаАлексей КТак? И это писать для всех 327 комбобоксов? У Вас на окне 327 комбобоксов?Ну окон-то много. МусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :)Да. МусичкаP.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо.Это не так. Наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 14:44 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КУ Вас на окне 327 комбобоксов?Ну окон-то много.[/quot] Вопрос из разряда нужности подсчета кол-во строк кода в проекте? Вы ж, вроде, уже взрослый дядька, а всё туда же ) Алексей КДа. Тогда нихрена не понимаю. Сначала Вы мне задвигаете про то, что нах писать маленькую "вьюмодельку" для комбобокса, теперь Вы соглашаетесь, что "вьюмоделька" пишется не для комбобокса, а для всего представления. То ли Вы запутались, что-ли я далбаёп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 15:26 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу окон-то много. Вопрос из разряда нужности подсчета кол-во строк кода в проекте? Вы ж, вроде, уже взрослый дядька, а всё туда же ) Алексей КДа. Тогда нихрена не понимаю. Сначала Вы мне задвигаете про то, что нах писать маленькую "вьюмодельку" для комбобокса, теперь Вы соглашаетесь, что "вьюмоделька" пишется не для комбобокса, а для всего представления. То ли Вы запутались, что-ли я далбаёп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2010, 15:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаТогда нихрена не понимаю. Сначала Вы мне задвигаете про то, что нах писать маленькую "вьюмодельку" для комбобокса, теперь Вы соглашаетесь, что "вьюмоделька" пишется не для комбобокса, а для всего представленияВ примере показана часть вьюмодели, с которой связан один комбобокс. МусичкаЕщё раз... Небольшое шаманство с комбобоксом избавляет от маразма в прикладном коде. Я об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2010, 06:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
В продолжение темы ненависти... Свежеустановленная VS2010 Professional + .Net4 Код: plaintext 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. В .Net 3.5 это работало! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2010, 08:19 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Задаюсь таким вопросом по поводу сильвера и безопасности: Имеем: клиентский *.xap, представляющий из себя тупо *.zip с необходимыми ресурсами, который скармливается браузеру. Вопрос: возможно ли этот xap как-то перехватить, отдизассемблить сборки? Кто в теме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 15:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Мусичка, что значит "перехватить"? можно просто-напросто скачать (путь указан в параметрах хтмльного объекта хостинга, <param name="source" value="ClientBin/myslapp.xap"/>) - указывай в адресной строке браузера и закачивай как обычный .zip ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 16:14 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
LR Где здесь информация о xap? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 16:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУГде здесь информация о xap? там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 18:19 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
LRМусичка, что значит "перехватить"? можно просто-напросто скачать (путь указан в параметрах хтмльного объекта хостинга, <param name="source" value="ClientBin/myslapp.xap"/>) - указывай в адресной строке браузера и закачивай как обычный .zip Легко. Для Reflector'a есть плагины, кроме того, все замечательно видно Silverlight Spy. Единственный, но не 100% вариант - самому подгружать зашифрованные сборки и obfuscator, если это так критично. Прежде всего нужно защищать соединение и сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 19:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
LRМСУГде здесь информация о xap? там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0) Согласен. Но не факт, что нету xap'а - чем смотрели? Проверял через Reflector.SilverlightLoader.dll (04.03.2008), он вообще не умеет с xap'ом работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 22:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУLRМСУГде здесь информация о xap? там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0) Согласен. Но не факт, что нету xap'а - чем смотрели? Проверял через Reflector.SilverlightLoader.dll (04.03.2008), он вообще не умеет с xap'ом работать. смотрел блокнотом)) там используется JavaScript API, SL1 msdnThe JavaScript API is the model that was available in Silverlight version 1.0, and is retained for backward compatibility and to enable particular scenarios. In the JavaScript API, the Silverlight plug-in loads a single XAML page instead of an application package. This XAML can include URI references to server-side resources, such as images and videos. The Silverlight plug-in uses the XAML to create an object tree that you can programmatically manipulate using JavaScript in the host HTML page. The JavaScript API does not provide an application model that is capable of supporting complex applications with internal navigation. However, it does enable scenarios for which the managed API is too cumbersome, such as splash screens. You can also implement basic navigation by loading new XAML pages into the Silverlight plug-in or by loading new Web pages into the browser. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2010, 23:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Visual Studio 2010 + FW4. Включена родная тема Aero. Мутим Popup у которого StaysOpen=False. На нём размещаем DataGrid. В гриде тыкаем сортировку по колонке, и пока фокус находится в заголовке колонки грида - Popup отказывается закрываться при тычке мышью вне него. Вспомнилось: - Листья падают с ясени, никуясебе, - Посмотрел в окно, и действительно - акуительно! ЗЫ: Не баньте меня пожалуйста за ненормативную лексику. Я больше не буду. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 08:16 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :) P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо. Насколько я понимаю, сами по себе Шаблоны проектирования (паттерны) это всего лишь рекомендации и не предпологают тупое их копирование, если для упрощения необходимо дописать "костыль" или еще что то - то милости просим! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2010, 07:26 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
offАлексей КЗЫ: Не баньте меня пожалуйста за ненормативную лексику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2010, 12:56 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЭко Вас заносит на поворотах, Лёша )Ну а какие ещё эмоции должна вызывать описанная ситуация? :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2010, 18:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу а какие ещё эмоции должна вызывать описанная ситуация? :-)) рождённый ползать - летать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 07:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Изопропилрождённый ползать - летать не будет.Полетит. Он просто не может не полететь. WinForms запустили, и "это" запустим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 10:18 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Что и куда собираемся запускать с нереализованной Memory Leak? P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 10:46 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЧто и куда собираемся запускать с нереализованной Memory Leak? P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло.Неужели "это" так сложно вставить в своей реализации ICommand, если таковая понадобится? Код Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 13:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
заработала галерея севы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 14:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУЧто и куда собираемся запускать с нереализованной Memory Leak? P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло.Неужели "это" так сложно вставить в своей реализации ICommand, если таковая понадобится? + Код Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. А где WeakEventManager, где StartListening и StopListening? Где ловля евентов? Где EventManager.RegisterClassHandler? Куда подевалсо наш IWeakEventListener и реализация ReceiveWeakEvent (бутон или что-там у нас)? P.S. Лёша, что за говнокодец Вы мне дали? :) P.S2. Я жду полноценных WeakEventManager + IWeakEventListener, а не гуано на лопате :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 14:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУА где WeakEventManager, где StartListening и StopListening? Где ловля евентов? Где EventManager.RegisterClassHandler? Куда подевалсо наш IWeakEventListener и реализация ReceiveWeakEvent (бутон или что-там у нас)?А накойхер (с) мне это надо? Мне достаточно этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Это решает описанную проблему. МСУP.S. Лёша, что за говнокодец Вы мне дали? :)Но но!!! Это часть новейшего WPF/SL фреймворка приложений будущего!!! :-) МСУP.S2. Я жду полноценных WeakEventManager + IWeakEventListener, а не гуано на лопате :)Тут могу только посоветовать сходить к гуглу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 17:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Чего-то я затупил. Как-то так надо делать. Завтра проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 18:58 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :) P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо. Очередной маразм. Никто в здравом уме не помещает в ViewModel справочники.Их создают непосредственно в xaml, а viewmodel не перегружают ненужными деталями. И путей для этого много: - конвертер - провайдеры данных - через расширения xaml возможны любые варианты.Например,самый вменяемый-через DI контейнеры или фабрики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 07:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Если кому интересно - вот правильный код. Правильный код Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 08:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЕсли кому интересно - вот правильный код. Не без ошибок. :-) Patch для правильного кода Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 08:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaОчередной маразм. Никто в здравом уме не помещает в ViewModel справочники.Их создают непосредственно в xaml, а viewmodel не перегружают ненужными деталями. И путей для этого много: - конвертер - провайдеры данных - через расширения xaml возможны любые варианты.Например,самый вменяемый-через DI контейнеры или фабрики- берут из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 08:35 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КSeVaОчередной маразм. Никто в здравом уме не помещает в ViewModel справочники.Их создают непосредственно в xaml, а viewmodel не перегружают ненужными деталями. И путей для этого много: - конвертер - провайдеры данных - через расширения xaml возможны любые варианты.Например,самый вменяемый-через DI контейнеры или фабрики- берут из БД. Все варианты, которые я описал, берут данные из БД, если нет кэширования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 09:14 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaАлексей КSeVaОчередной маразм. Никто в здравом уме не помещает в ViewModel справочники. Их создают непосредственно в xaml , а viewmodel не перегружают ненужными деталями. И путей для этого много: - конвертер - провайдеры данных - через расширения xaml возможны любые варианты.Например,самый вменяемый-через DI контейнеры или фабрики- берут из БД. Все варианты, которые я описал, берут данные из БД, если нет кэшированияМеня смутило это. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:04 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaМусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :) P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо. Очередной маразм. Никто в здравом уме не помещает в ViewModel справочники. Их создают непосредственно в xaml, а viewmodel не перегружают ненужными деталями. И путей для этого много: - конвертер - провайдеры данных - через расширения xaml возможны любые варианты.Например,самый вменяемый-через DI контейнеры или фабрики Очередное гонево. Где там что-то сказано про "справочники"? Что ты понимаешь под ними? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:34 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНо но!!! Это часть новейшего WPF/SL фреймворка приложений будущего!!! :-) Не спорю, но пока сыро и гнило :) Алексей КМСУP.S2. Я жду полноценных WeakEventManager + IWeakEventListener, а не гуано на лопате :)Тут могу только посоветовать сходить к гуглу. Дак уже ж ходил . Ужос. Алексей КАлексей КЕсли кому интересно - вот правильный код. Не без ошибок. :-) Patch для правильного кода Код: plaintext 1. 2. 3. 4. 5. Лёнь, выложите солюшен с пару-тройкой кнопок и хендлингом вик эвентов. Посмотрим, потестируем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЛёнь, выложите солюшен с пару-тройкой кнопок и хендлингом вик эвентов. Посмотрим, потестируем.Думал об этом, но боюсь меня люди не поймут. Все нервные какие-то. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КДумал об этом, но боюсь меня люди не поймут. Все нервные какие-то. :-)) Не уклоняйтесь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:49 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КНо но!!! Это часть новейшего WPF/SL фреймворка приложений будущего!!! :-) Не спорю, но пока сыро и гнило :)Промышленная эксплуатация сего творения расставит всё по своим местам. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КПромышленная эксплуатация сего творения расставит всё по своим местам. :-)) Солюшен будет? ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:03 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУСолюшен будет?Ну если охото в нём поковыряться - мне не жалко. :-) Для запуска нужна БД Northwind ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУТо есть, выведение проперти Categories для байдинга SelectedValue- это всего-лишь маленькая крупица того, что нужно написать для представления :) Вот яркий образец гонева и тупого, дословного понимания паттерна MVVM. Это только ты придумать можешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaМСУТо есть, выведение проперти Categories для байдинга SelectedValue- это всего-лишь маленькая крупица того, что нужно написать для представления :) Вот яркий образец гонева и тупого, дословного понимания паттерна MVVM. Это только ты придумать можешь. Ты продолжаешь читать задним местом? Алексей КSilverlightКомбобоксы сами по себе не живут. Они должны изменять значение, лучше всего это делать c помощью ViewModel.О чём и речь. Просто хочется, чтобы это выглядело примерно так, и не было дополнительных ограничений по порядку присваивания свойств Product и Categories . Код: plaintext /topic/734817&pg=3#8660505 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:28 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУSeVaМСУТо есть, выведение проперти Categories для байдинга SelectedValue- это всего-лишь маленькая крупица того, что нужно написать для представления :) Вот яркий образец гонева и тупого, дословного понимания паттерна MVVM. Это только ты придумать можешь. Ты продолжаешь читать задним местом? Алексей КSilverlightКомбобоксы сами по себе не живут. Они должны изменять значение, лучше всего это делать c помощью ViewModel.О чём и речь. Просто хочется, чтобы это выглядело примерно так, и не было дополнительных ограничений по порядку присваивания свойств Product и Categories . Код: plaintext /topic/734817&pg=3#8660505 А ты как всегда продолжаешь думать одним местом. Тебе доходит с сотого раза, повторяю public IEnumerable<Db.Categories> Categories { get; set; } это полный бред. В силу своей профнепригодности ты даже не можешь понять о чем идет речь. Look-up\'ов может быть много, чтобы не перегружать VM, их спокойно можно создвать во View. Один из вариантов Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:44 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaLook-up'ов может быть много, чтобы не перегружать VM, их спокойно можно создвать во View. Один из вариантовМне хотелось иметь полный контроль во вьюмодели над создаваемыми лукапами. Из-за этого и возник вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:49 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
просто это топик создал человек, который не понял в чем суть технологи шаблонов.поддерживают его тут такие же :) они поняли ошибочно суть шаблонов программирования. есть люди которые думают над задачами=> вырабатывают какой то шаблон=> другие люди сталкиваясь со своими задачами, не хотят думать(это основная причина) и начинают искать выходы из положения: перебирают мысли других людей, и полагают,что если взять их мысли и наложить свою задача на них, и тогда произойдет экономия какого то ресурса:времени и л.б.ресурса => получаем армию не инженеров, а кодеров=> инженеры, тем самым формируют некую касту,которая потом сертицифирует этих кодеров,раздает ордена отличия кодерам,и т.д.) малое государство такое получается. автора эта тема уже вопрос кодера,который не понял, ка кэто так, шаблон не налез на мою задачу, какая плохая технология! если вдуматься,то в этом мышлении уже изъят этап инженерии.ч.т.д. извините за переход на личности,но это вся тема о личности.о возмущенной личности.как это так каста инженеров не подумала за кодера?! это попытка логически завершить такие флудотемы о личностных эмоциях какого то человека. лучше бы делились разработками под новые задачи,чем обсуждали всякие не понятные шаблоны для нарезки спагетти кода.да:) именно спагетти кода. у вас есть код,вы берете шаблон и режете ,режете...режете. так же попроше,не выдирать слова из контекста и делать цитирование всего этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
AlexeiKпросто это топик создал человек, который не понял в чем суть технологи шаблонов.поддерживают его тут такие же :)Мне кажется, Вы что-то путаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2ALL Убедительная просьба - не разводить срач в этом топике. Он не для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:04 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КSeVaLook-up'ов может быть много, чтобы не перегружать VM, их спокойно можно создвать во View. Один из вариантовМне хотелось иметь полный контроль во вьюмодели над создаваемыми лукапами. Из-за этого и возник вопрос. А кто запрещает это делать в ViewModelLocator? Для простых случаев какой еще нужен контроль? ЗЫ На мой вгляд, подобный контроль должен быть вынесен отдельно в cущности для UseCase. Логику реализуем в них, а VM - простой агрегатор данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:05 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaА ты как всегда продолжаешь думать одним местом. Тебе доходит с сотого раза, повторяю public IEnumerable<Db.Categories> Categories { get; set; } это полный бред. В силу своей профнепригодности ты даже не можешь понять о чем идет речь. Look-up'ов может быть много, чтобы не перегружать VM, их спокойно можно создвать во View. Один из вариантов Код: plaintext 1. 2. 3. В силу своей профнепригодности ты даже не можешь понять того, что это тоже самое. Что грузить представление, что грузить вьюмодель - те же яйца. Тут логики никакой нет. Следовательно, Categories можно описать в ViewModel, а можно декларативно (как ты описываешь). Или MVVM уже запрещает писать проперти во ViewModel? P.S. Сева, иди учи паттерн MVVM. Изучишь, приходи, проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КSeVaLook-up'ов может быть много, чтобы не перегружать VM, их спокойно можно создвать во View. Один из вариантовМне хотелось иметь полный контроль во вьюмодели над создаваемыми лукапами. Из-за этого и возник вопрос. Сева просто не в теме. Впаривает декларативную привязку. Ни проперть и ни декларативная привязка не перечит шаблону проектирования. Короче, те же яйца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КAlexeiKпросто это топик создал человек, который не понял в чем суть технологи шаблонов.поддерживают его тут такие же :)Мне кажется, Вы что-то путаете. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaА кто запрещает это делать в ViewModelLocator? А кто запрещает это делать в ViewModel? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaА кто запрещает это делать в ViewModelLocator? Для простых случаев какой еще нужен контроль? ЗЫ На мой вгляд, подобный контроль должен быть вынесен отдельно в cущности для UseCase. Логику реализуем в них, а VM - простой агрегатор данных.На тот момент мне показалось, что проще этот функционал вынести в сам контрол. Преимущества - максимально упрощён прикладной код. Все остальные решения требуют создания в прикладном коде дополнительных объектов. Впрочем - я не настаиваю и вообще могу ошибаться. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУА кто запрещает это делать в ViewModel?Неудобно. А для добавления удобства потребуется позднее связывание. Пусть оно будет по возможности только в XAML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУА кто запрещает это делать в ViewModel?Неудобно. А для добавления удобства потребуется позднее связывание. Пусть оно будет по возможности только в XAML. Ничего неудобного. Описал проперть в ViewModel и подсосался к ней в декларативном коде. Ничего опасного и злого. Хотя, конечно, я отдаю голос за декларативность. Но, чтобы из этого раздувать опус, как Сева - это показывает абсолютное незнание паттерна. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
сева ты просто эпическое неразумное быдло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КМСУА кто запрещает это делать в ViewModel?Неудобно. А для добавления удобства потребуется позднее связывание. Пусть оно будет по возможности только в XAML. Ничего неудобного. Описал проперть в ViewModel и подсосался к ней в декларативном коде. Ничего опасного и злого. Хотя, конечно, я отдаю голос за декларативность. Но, чтобы из этого раздувать опус, как Сева - это показывает абсолютное незнание паттерна. :) Паттерны еще нужно уметь применять. Вариант с тупым его пониманием предполагает: Создать VM, добавить в него Property, добавить логику по загрузке. Данный Look-up может встречаться в 48 местах, повторить это для всех VM, где он нужен. Таких look-up в системе будут десятки-сотни код будет распухать на глазах. Если думать головой, а не только заниматься писаниной на форуме, то: 1. Look-up задаем декларативно в xaml. 2. Пишем в одном месте загрузчик данных. 3. Для VM не создаем отдельного класса, а получаем его из DI контейнера на основе базового. Несколько строк вместо спаггети-кода. Сынок, не тебе о паттернах рассуждать. Мой полы и не отвлекайся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
гнидычсева ты просто эпическое неразумное быдло MСУ, вот ты и показал свое рыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 12:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaТаких look-up в системе будут десятки-сотни код будет распухать на глазах. Ты начинаешь, как всегда, фантазировать. Где там в коде было что-то про распухание? SeVa1. Look-up задаем декларативно в xaml. 2. Пишем в одном месте загрузчик данных. 3. Для VM не создаем отдельного класса, а получаем его из DI контейнера на основе базового. 2 и 3 пункт к вопросу не относятся, ты опять начинаешь влево сползать. Так вот, декларативно ли будет заюзать лукап или через проперть: значения не имеет. Мы этим не нарушаем принцип паттерна. Учи матчасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУSeVaТаких look-up в системе будут десятки-сотни код будет распухать на глазах. Ты начинаешь, как всегда, фантазировать. Где там в коде было что-то про распухание? SeVa1. Look-up задаем декларативно в xaml. 2. Пишем в одном месте загрузчик данных. 3. Для VM не создаем отдельного класса, а получаем его из DI контейнера на основе базового. 2 и 3 пункт к вопросу не относятся, ты опять начинаешь влево сползать. Так вот, декларативно ли будет заюзать лукап или через проперть: значения не имеет. Мы этим не нарушаем принцип паттерна. Учи матчасть. Мол полы, пидарок, я не лечащий врач и не твоего это ума дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:05 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Тебе на заборе написил, что VM должен предоставлять данные для View, вот ты в силу своей буквальности, это и понимаешь в самом тупом варианте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVa3. Для VM не создаем отдельного класса, а получаем его из DI контейнера на основе базового.Это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КSeVa3. Для VM не создаем отдельного класса, а получаем его из DI контейнера на основе базового.Это как? Базовый класс без деталей Код: plaintext 1. 2. 3. 4. Регистрируем в DI-контейнере сontainer.RegisterType(IViewModel<>, ViewModel<>); Далее в коде получаем нужный vm var vm = container.GetInstance<IViewModel<MyViewModel>>(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:39 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
вопрос к вам, тогда, раз у вас все по делу. я так понимаю у mvvm есть практичная сторона и непрактичная. вот смотрю ваши примеры кода и не понимаю, вы куда копаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaБазовый класс без деталей Код: plaintext 1. 2. 3. 4. Регистрируем в DI-контейнере сontainer.RegisterType(IViewModel<>, ViewModel<>); Далее в коде получаем нужный vm var vm = container.GetInstance<IViewModel<MyViewModel>>();Ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:45 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КSeVaБазовый класс без деталей Код: plaintext 1. 2. 3. 4. Регистрируем в DI-контейнере сontainer.RegisterType(IViewModel<>, ViewModel<>); Далее в коде получаем нужный vm var vm = container.GetInstance<IViewModel<MyViewModel>>();Ок ЧMO(это ник MCУ в его туалетной кабинке), в твоем варианте, придется каждый раз делать тупую работу по созданию и добавлению Look-up'ов в ViewModel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
SeVaЧMO(это ник MCУ в его туалетной кабинке)Не совсем понял к чему это... Прекращайте уже с МСУ ругаться, или делайте это в другом месте. МСУ, в Вам это тоже относится. SeVaв твоем варианте, придется каждый раз делать тупую работу по созданию и добавлению Look-up'ов в ViewModel.Я знаю к чему это приведёт. Знаю альтернативные способы через XAML. Просто рассматриваю различные варианты решения. Пытаюсь выявить возможные проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 13:59 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУ, в Вам это тоже относится. Лёш, а где я с ним ругаюсь? По-моему только от него идут оскорбления. Я уже нажал 2 раза кнопку модератора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 14:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КМСУ, в Вам это тоже относится. Лёш, а где я с ним ругаюсь? По-моему только от него идут оскорбления. Я уже нажал 2 раза кнопку модератора. Ты только шакалить в тихаря умеешь, думая,в силу своей тупости, что не поймут чьих это рук дело. ЗЫ А я давно говорил, что тебя лопаткой за это в детском саду по голове били и шизофрения. Не думал только, что ты пидор(проблемы с психикой ведут, как правило, к педарастии), а так все понятно было давно. Модератор: Занавес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 14:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЛёш, а где я с ним ругаюсь?Мне показалось что да. Впрочем, дело Ваше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 14:47 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Лёш, продолжим: Алексей КЯ знаю к чему это приведёт. Знаю альтернативные способы через XAML. Просто рассматриваю различные варианты решения. Пытаюсь выявить возможные проблемы. неужели Вы считаете, что оформление лукапа в ViewModel перечит паттерну? Далее. А к чему приведет? Распухание XAML супротив распуханию ViewModel. И? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 15:40 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУнеужели Вы считаете, что оформление лукапа в ViewModel перечит паттерну?Меня это беспокоит меньше всего. :-)) МСУДалее. А к чему приведет? Распухание XAML супротив распуханию ViewModel. И?Тут надо смотреть конкретную ситуацию. Если из вьюмодели управлять содержимым лукапа не нужно, то вероятно предпочтительнее привязать XAML непосредственно к сервису, который создаёт содержимое лукапа (например singleton + {x:Static}). В этом случае мы можем избежать лишнего делегирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 22:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Впервые осилил весь топик. Заинтригован. Хочу теперь попробовать поработать с WPF (да-да, я наверно последний, кто сидит на Winforms). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 22:33 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Кстати, вот у меня вскоре жестко будет поставлен вопрос по поводу UI жирного клиента, так, что я думаю будет кстати поэкспериментировать с WPF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 22:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
АбсолютВпервые осилил весь топик. АбсолютХочу теперь попробовать поработать с WPF Сыроват. И утечки памяти смущают. Абсолютя наверно последний, кто сидит на Winforms Как-раз-таки, наоборот :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2010, 12:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Анимированный GIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 08:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К Анимированный GIF Чего анимированый гиф? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 09:49 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПЧего анимированый гиф?Ну не умеет он его, чего ещё-то може быть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:17 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПЧего анимированый гиф?Ну не умеет он его, чего ещё-то може быть... Кто кого чего не умеет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Об чём топик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КОб чём топик? Хз. А чего с гифом то не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПХз. А чего с гифом то не так?Видимо нынче не модны гифанимации. Тут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПХз. А чего с гифом то не так?Видимо нынче не модны гифанимации. Тут . Нынче модно использовать для анимации (в том числе для анимации гифанимации) MediaElement, а не Image ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПНынче модно использовать для анимации (в том числе для анимации гифанимации) MediaElement, а не ImageИ он живущий в ресурсе сборки гиф умеет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:31 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПНынче модно использовать для анимации (в том числе для анимации гифанимации) MediaElement, а не ImageИ он живущий в ресурсе сборки гиф умеет? По-моему нет. И живущий в ресурсе сборки wmv тоже не умеет. Или у меня с наскоку не получилось. Но это совсем другая история :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:33 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛППо-моему нет. И живущий в ресурсе сборки wmv тоже не умеет. Или у меня с наскоку не получилось. Но это совсем другая история :)Вот и я о чём. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:35 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛППо-моему нет. И живущий в ресурсе сборки wmv тоже не умеет. Или у меня с наскоку не получилось. Но это совсем другая история :)Вот и я о чём. :-)) Нет, ты таки про анимированный гиф, а не про MediaElement и URI типа pack:// С гифом то как раз всё хорошо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПНет, ты таки про анимированный гиф, а не про MediaElement и URI типа pack:// С гифом то как раз всё хорошо :)Согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 10:56 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Да и хрен с ним. Вставлю <ProgressBar IsIndeterminate="True"/> . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 11:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ну что там еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 18:41 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Какой сидорас, простите, догадался несделать DependencyProperty к PasswordBox.Password ? Руки оборвать по самую жопу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 21:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПКакой сидорас, простите, догадался несделать DependencyProperty к PasswordBox.Password ? Руки оборвать по самую жопу. Все правильно сделано. Есть простейший вариант обойтись без DP к Password. Если интересует - могу посмотреть в проекте двухлетней давности у меня есть - неделю почти думал, как сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2010, 00:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ХопаВсе правильно сделано. Есть простейший вариант обойтись без DP к Password. Если интересует - могу посмотреть в проекте двухлетней давности у меня есть - неделю почти думал, как сделать Спасибо, не интересует. Приделать недостающее DP труда не составляет. Раздражает сам факт того, что такой ерундой приходится заниматься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2010, 13:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПРаздражает сам факт того, что такой ерундой приходится заниматься. Ну да, есть такое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2010, 14:45 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПКакой сидорас, простите, догадался несделать DependencyProperty к PasswordBox.Password ? Руки оборвать по самую жопу.Присоединяюсь. ХопаВсе правильно сделано.Нет. ХопаЕсть простейший вариант обойтись без DP к Password. Если интересует - могу посмотреть в проекте двухлетней давности у меня есть - неделю почти думал , как сделать Чё там думать-то. Даже без гугла само собой напрашивается Attached Property. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 06:02 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К Анимированный GIF Тоже мне проблема. Это же 100 строк кода всего: http://rsdn.ru/forum/dotnet/3533948.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 09:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
guest2Алексей К Анимированный GIF Тоже мне проблема. Это же 100 строк кода всего ЛПРаздражает сам факт того, что такой ерундой приходится заниматься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 10:18 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Малый гемор предстоит в силверлайте без нормального ShowDialog... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 13:26 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМалый гемор предстоит в силверлайте без нормального ShowDialog... Оффтопите, Лёня ;) P.S. ChildWindow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 16:52 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУP.S. ChildWindowa525 Внимательно знакомимся с ShowDialog в WPF/WinForms/Delphi, смотрим исходники, пытаемся почуять разницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К, Это ты в браузере, что ли, собрался ShowDialog делать? Учимся делать нормальные приложения, основанные на NavigationService, а не кучу окон городить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 20:13 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУP.S. ChildWindowa525 Внимательно знакомимся с ShowDialog в WPF/WinForms/Delphi, смотрим исходники, пытаемся почуять разницу. Юзаем ChildWindow и не ипём моск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 20:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЮзаем ChildWindow и не ипём моск.Да там с лямбдами замучаешся. Опять же хочется иметь одинаковый прикладной код для WPF/SL. guest2Это ты в браузере, что ли, собрался ShowDialog делать?ChildWindow есть, что мешает? guest2Учимся делать нормальные приложения, основанные на NavigationService, а не кучу окон городить.Т. е. все существующие приложения с диалогами считаются ненормальными? Смелое утверждение. Диалог типа "Будет удалена завись. Продолжить? Да/Нет" тоже отдельной страницей делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 06:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КОпять же хочется иметь одинаковый прикладной код для WPF/SL. А смысл? Я, вот, не понимаю эту сферически фанатичную идею делать минимальные зависимости на двух различных платформах. Накойляд (с) спрашивается. Во-вторых, никто не мешает UI планировать на юзер-контролах, а Window (WPF) и ChildWindow (сильвер) использовать как хостеров. Алексей КДиалог типа "Будет удалена завись. Продолжить? Да/Нет" тоже отдельной страницей делать? Ну как-раз тут всё очень просто :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 09:39 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей Кguest2Учимся делать нормальные приложения, основанные на NavigationService, а не кучу окон городить.Т. е. все существующие приложения с диалогами считаются ненормальными? Смелое утверждение. Смелое, особенно учитывая, что я этого не утверждал.Алексей КДиалог типа "Будет удалена завись. Продолжить? Да/Нет" тоже отдельной страницей делать?Для этого MessageBox есть. Я фигею - делаем за оппонента утверждения и потом героически их опровергаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КОпять же хочется иметь одинаковый прикладной код для WPF/SL. А смысл? Я, вот, не понимаю эту сферически фанатичную идею делать минимальные зависимости на двух различных платформах. Накойляд (с) спрашивается.Ну на первый взгляд этот не сложно. Почему бы и нет? :-) МСУВо-вторых, никто не мешает UI планировать на юзер-контролах, а Window (WPF) и ChildWindow (сильвер) использовать как хостеров.А это не имеет значения. Хоть как тут делай - прикладной код будет отличаться. МСУАлексей КДиалог типа "Будет удалена завись. Продолжить? Да/Нет" тоже отдельной страницей делать? Ну как-раз тут всё очень просто :) Код: plaintext Алексей КP.S. Всё-таки, NavigationService, как уже говорили, более полезен в браузерных решениях. Очень удобно иметь определенные странички в закладках. Поэтому, устраивать замес WPF с сильвером, по меньшей мере, неблагоразумно. Коням - овёс, волкам - овец. Не наоборот.Т. е. диалоги нынче не модно? Диалоги делаются в Windows-приложениях из-за отсутствия NavigationService? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 11:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу на первый взгляд этот не сложно. Почему бы и нет? :-) Ну много в этой жизни, что не сложно. Так давайте же будем выдумывать феерические задачи и с гордостью их решать? P.S. Нахненужно! Алексей КА это не имеет значения. Хоть как тут делай - прикладной код будет отличаться. Да, как ни крути. Шаг влево - уже расхождения с WPF. Алексей КНу мы-то с вами знаем, что диалоги бывают более замысловатые... ChildWindow же Алексей КТ. е. диалоги нынче не модно? Диалоги делаются в Windows-приложениях из-за отсутствия NavigationService? Диалоги - это замечательно. Речь о типе сильверовского проекта. Есть Silverlight Application (типа WPF как-бы) и есть Silverlight Navigation Application. Шаблоны проектов уже заряжены в VS2010. Так вот, Вам никто не запрещает юзать великолепный ChildWindow в SNA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 11:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КНу мы-то с вами знаем, что диалоги бывают более замысловатые... ChildWindow же Мы опять ходим по кругу. Я не говорю, что в ChildWindow нет ShowDialog. Я говорю что он неудобен. Делегат закрытия диалога возможно придётся тащить через несколько методов, если диалогов несколько. Это разьве нормально? Код: plaintext 1. 2. 3. vs Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:18 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А когда куча лямбд, stack trace становится весьма непонятным, что существенно затрудняет отладку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЯ не говорю, что в ChildWindow нет ShowDialog. Так а в нем и нет ShowDialog, в нем есть только Show :) Алексей КЯ говорю что он неудобен. Делегат закрытия диалога возможно придётся тащить через несколько методов, если диалогов несколько. Это разьве нормально? Зачем тащить куда-то делегат? А напрямую из вьюмодели не сутьпба? MainViewModel.cs (типа главное окошко) Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. CustomerEditWindow.xaml (кнопачки) Код: plaintext 1. CustomerEditWindowModel.cs (вызываемая модальная шняжка) Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. Ну как-то так :) АлёшаА когда куча лямбд, stack trace становится весьма непонятным, что существенно затрудняет отладку. Чё Вы к лямбдам привязались, что с ними не так? dinamyc? ) А stack trace тут как упал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:31 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КЯ не говорю, что в ChildWindow нет ShowDialog. Так а в нем и нет ShowDialog, в нем есть только Show :)Дапох как он там называется. МСУАлексей КЯ говорю что он неудобен. Делегат закрытия диалога возможно придётся тащить через несколько методов, если диалогов несколько. Это разьве нормально? Зачем тащить куда-то делегат? А напрямую из вьюмодели не сутьпба?Ну а если какой-то код нужно выполнить после закрытия диалога. Посмотри ещё раз мой последний пример. Вот обсуждение сабжа с авторами. Их лошадиные отмазки по поводу кросплатформенности кажутся весьма неубедительными. МСУАлёшаА когда куча лямбд, stack trace становится весьма непонятным, что существенно затрудняет отладку. Чё Вы к лямбдам привязались, что с ними не так? dinamyc? ) А stack trace тут как упал? Ну имена методов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу а если какой-то код нужно выполнить после закрытия диалога. Ёпт, опишите евент в диалоговом окне и из вызываемого окна присоситесь к нему. Ну пистец вопросы, Лёня... :( Собственно, вариант с event Action, который я дал, так и работает. Ничего выдумывать не нужно. Контролировать можно полностью поведение вьюмодельки. Алексей КПосмотри ещё раз мой последний пример. Вот обсуждение сабжа с авторами. Их лошадиные отмазки по поводу кросплатформенности кажутся весьма неубедительными. Бать, дату смотрели? :) Тогда народ не знал о чилдвиндоу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Короче, Лёня, харэ флудить! Диалоговость в сильвере есть. И точка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КНу а если какой-то код нужно выполнить после закрытия диалога.Ёпт, опишите евент в диалоговом окне и из вызываемого окна присоситесь к нему. Ну пистец вопросы, Лёня... :( Собственно, вариант с event Action, который я дал, так и работает. Ничего выдумывать не нужно. Контролировать можно полностью поведение вьюмодельки. Ну я и возмущаюсь как обойтись без них. Чё лямбды на пустом месте плодить. МСУАлексей КПосмотри ещё раз мой последний пример. Вот обсуждение сабжа с авторами. Их лошадиные отмазки по поводу кросплатформенности кажутся весьма неубедительными. Бать, дату смотрели? :) Тогда народ не знал о чилдвиндоу.Чилдвиндоу был создан матерящимся сообществом на следующий день после первого релиза SL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу я и возмущаюсь как обойтись без них. Чё лямбды на пустом месте плодить. А, Вы про эти лямбды :) Я просто подумал, что Вы хотите передавать лямбды в вызываемый попап, чтоб как-бы не типизироваться, dinamyc вона даже предложил Алексей КЧилдвиндоу был создан матерящимся сообществом на следующий день после первого релиза SL. Хз, может и так. Но, это же решение Вашей "проблемы"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:16 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КНу я и возмущаюсь как обойтись без них. Чё лямбды на пустом месте плодить. А, Вы про эти лямбды :) Я просто подумал, что Вы хотите передавать лямбды в вызываемый попап, чтоб как-бы не типизироваться, dinamyc вона даже предложил Ну наконец-то... МСУАлексей КЧилдвиндоу был создан матерящимся сообществом на следующий день после первого релиза SL. Хз, может и так. Но, это же решение Вашей "проблемы"?Да нет же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А, вообще, если на то пошло, то как Вам вариант паттерна "батон клик"? Никаких тебе делегатов и никаких тебе лямбд, автогенерация клик-методов рулит же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:35 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУ Диалоговость в сильвере есть. И точка. хороший термин. Зопесал в блокнотег МСУА, вообще, если на то пошло, то как Вам вариант паттерна "батон клик"? Никаких тебе делегатов и никаких тебе лямбд, автогенерация клик-методов рулит же. pattern как pattern :) в МСДН'е куча примеров с использованием оного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 14:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КЯ не говорю, что в ChildWindow нет ShowDialog. Так а в нем и нет ShowDialog, в нем есть только Show :) Алексей КЯ говорю что он неудобен. Делегат закрытия диалога возможно придётся тащить через несколько методов, если диалогов несколько. Это разьве нормально? Зачем тащить куда-то делегат? А напрямую из вьюмодели не сутьпба? + MainViewModel.cs (типа главное окошко) Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. + CustomerEditWindow.xaml (кнопачки) Код: plaintext 1. + CustomerEditWindowModel.cs (вызываемая модальная шняжка) Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. Ну как-то так :) АлёшаА когда куча лямбд, stack trace становится весьма непонятным, что существенно затрудняет отладку. Чё Вы к лямбдам привязались, что с ними не так? dinamyc? ) А stack trace тут как упал? МСУ, на какой помойке ты этот гомнокод откопал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 14:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Понравилось решение проблемы. Безумный herbertI meet the same problem, and I think it was because that the Tabcontrol will remove the content of current TabItem from the visual tree and add the content of the selected TabItem to the visual tree when you switch Tabs. Then as the visual tree updated, there will be loaded and unloaded event fired for the newly added control and removed control respectively. I solved this problem by write a new tab control , which added all the items to the visual tree at the very beginning, and just make it hiden when the item was unselected, make it visible when the item was selected. This accelerate the switch speed a lot, especialy when the TabItem’s content is complex. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 08:59 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ПРоблема не стоит выеденного яйца. Порочный подход из WinForms автор In all my Windows Forms applications, I usually start with a common base class for forms При более внятном варианте ViewModel first отслеживать загрузку View - совершенно лишнее. Кроме того в WPF нет никакой поддрежки наследования forms за полной ненадобностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 09:44 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I love WPFПри более внятном варианте ViewModel first отслеживать загрузку View - совершенно лишнее.Согласен. Просто удивил сам факт этого явления. :-) I love WPFКроме того в WPF нет никакой поддрежки наследования forms за полной ненадобностью.Да, это проблемы того топикстартера. Бог ему судья. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 10:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I love WPFПри более внятном варианте ViewModel first отслеживать загрузку View - совершенно лишнее.С другой стороны, при написании Attached Property и т. п. - Loaded может быть просто незаменимым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 10:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Незаменимых у нас нет. Создаем свойство IsInitialized. Инициализацию делаем только, если значение этого свойства = false, после инициализации переводим его в true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 16:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ага, из разряда паттерна "лапшекод". Браво, хорошие стили тут обсуждаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 17:35 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУ, Ну дык если пошла борьба с инструментом - чего ждать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 20:33 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPFНезаменимых у нас нет. Создаем свойство IsInitialized. Инициализацию делаем только, если значение этого свойства = false, после инициализации переводим его в true. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2010, 06:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ИзопропилНу дык если пошла борьба с инструментом - чего ждать? Будем плодить Magic Pattern'ы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2010, 10:37 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КI\'ve WPFНезаменимых у нас нет. Создаем свойство IsInitialized. Инициализацию делаем только, если значение этого свойства = false, после инициализации переводим его в true. Код: plaintext 1. 2. 3. 4. 5. 6. IsInitialized - вариант для ViewModel.Где и для чего нужны практальные методы с контролами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2010, 13:15 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpfГде и для чего нужны практальные методы с контролами?Мало ли чего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2010, 14:46 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
кхе... WPF, MVVM, стандартная вьюмодель с INotifyPropertyChanged, с примитивными (условно говоря - String) и коллекционными (List<String>) пропертями, обычная вьюха с текстбоксами и комбобоксами, текстбоксы вьюхи прибиндены к примитивным пропертям вьюмодели, SelectedValue вьюхи прибиндены к примитивным пропертям вьюмодели, ItemSource комбобоксов прибиндены к коллекционным пропертям вьюмодели. Всё стандартно вроде бы. И вроде всё работает как надо. Но. Как только делаю view.DataContext = null, так тут же зачем-то получаю обнуление (установку в null) свойств вьюмодели, но не всех, а только тех, к которым прибиндены SelectedValue у комбобоксов (бинды текстбоксов, итемсорсов и команд не затрагиваются) Внимание, вопрос - я делаю что-то не так, или же я ненавижу WPF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2010, 21:21 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПкхе... WPF, MVVM, стандартная вьюмодель с INotifyPropertyChanged, с примитивными (условно говоря - String) и коллекционными (List<String>) пропертями, обычная вьюха с текстбоксами и комбобоксами, текстбоксы вьюхи прибиндены к примитивным пропертям вьюмодели, SelectedValue вьюхи прибиндены к примитивным пропертям вьюмодели, ItemSource комбобоксов прибиндены к коллекционным пропертям вьюмодели. Всё стандартно вроде бы. И вроде всё работает как надо. Но. Как только делаю view.DataContext = null, так тут же зачем-то получаю обнуление (установку в null) свойств вьюмодели, но не всех, а только тех, к которым прибиндены SelectedValue у комбобоксов (бинды текстбоксов, итемсорсов и команд не затрагиваются) Внимание, вопрос - я делаю что-то не так, или же я ненавижу WPF?Баян. Там же чуть ниже небольшой срач по этой проблеме и одно из её решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 06:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К... и одно из её решений.Впрочем, не самое удачное. Нынче модно через attached property... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 13:37 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Впрочем, если я ничего не путаю - "это" в WPF 4 исправлено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 13:53 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КБаян. Там же чуть ниже небольшой срач по этой проблеме и одно из её решений. Не то. Я же не трогаю ItemsSource Я никакие пропертя вьюмодели не трогаю. Я вообще не трогаю вьюмодель. Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех. т.е. код такой: View.xaml Код: plaintext ViewModel.cs Код: plaintext Window1.xaml Код: plaintext Window1.xaml.cs Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 14:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КБаян. Там же чуть ниже небольшой срач по этой проблеме и одно из её решений. Не то. Я же не трогаю ItemsSource Я никакие пропертя вьюмодели не трогаю. Я вообще не трогаю вьюмодель. Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех. т.е. код такой: View.xaml + Код: plaintext ViewModel.cs + Код: plaintext Window1.xaml + Код: plaintext Window1.xaml.cs + Код: plaintext Не пробовал читать документацию прежде, чем забивать головой гвозди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 19:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpfНе пробовал читать документацию прежде, чем забивать головой гвозди? Нет конечно, я ж не читатель По теме сказать есть чего? Если нет, то и до свидания, не кашляй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 21:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Могу и по теме.Прежде, чем смешить на форуме: 1. Прочитай хотя бы один букварь.Подозреваю, что одного раза будет мало, читай до дыр. 2. Затем выучи матчасть с контролами(у селекторов есть одно замечательное свойство,которое обуславливает подобное поведение) 3. Не мучай свою задницу изобретением "паттернов" button click, попробуй напрячь свои мозги, чтобы осилить хотя бы один готовый framework. Тогда подобного бреда и стонов не будет. ЗЫ Тебе тоже не болеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 21:33 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpf <высерки мозга поскипаны> ... у селекторов есть одно замечательное свойство,которое обуславливает подобное поведение ... <высерки мозга поскипаны> То есть ты утверждаешь, что такое поведение - это нормально, и обуславливается заданием какого-то свойства? Очень хорошо, это именно то, о чём я спрашивал, когда задавал вопрос "что я делаю не так". Ну а теперь - ты уж не строй из себя красну девицу, не стесняйся, скажи, как это свойство называется. А я уж сумею найти, во что его установить. И ежели оно сработает в FW 3.5, то у меня тут же возникнет вопрос, почему оно не работает в FW 4.0 (ибо подобное поведение, хоть по твоим словам и обусловлено каким-то свойством и является нормальным, однако же не наблюдается в 4.0). Неужто злые майкрософтовцы исправили правильное поведение на неправильное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 03:16 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПНе то. Я же не трогаю ItemsSource Я никакие пропертя вьюмодели не трогаю. Я вообще не трогаю вьюмодель. Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех.Ну у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 06:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-) Да не ошибаешься, правильно предположил. Действительно, привязка к ItemsSource. Действительно, меняю датаконтекст. Но ItemsSource то я не меняю, поэтому твой тынц - это всё-таки "не то". Понятно, что ноги из одного и того же места растут. При смене датаконтекста меняется (обнуляется) итемссорс, при смене итемссорса сбрасывается селектедайтем (уж так комбобокс уроды реализовали). Но почему, блин, нельзя было внутрях вьюхи сначала отцепить датаконтекст, а уже потом обнулять комбобоксовый итемссорс, пусть даже с последующим (обусловленным реализацией комбобокса) обнулением селектедайтема? Кривая реализация комбобокса так бы и осталась, куда б она делась, но эта комбобоксовая кривость хотя бы не проваливалась на уровень уже отцепленной вьюмодели. А так - на одно говно наложилось другое, в итоге говно в квадрате. Сидорасы, одним словом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 06:41 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpfМогу и по теме.Ну расскажи чё делать-то? Сабж ProblemIf you have an implicit Style that uses BaseOn that is located in App.xaml or in a Merged Resource Dictionary that is merged in App.xaml, the WPF & Silverlight Designer will always be in a read-only error state. Gold Bar Error: InstanceBuilderException was thrown due to a document error: a loop was detected in the property expressions Error List Error: A loop was detected in the property expressions ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 06:58 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ну вот зачем такое приходится писать? Ненужный код Код: plaintext 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. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 08:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНу вот зачем такое приходится писать? + Ненужный код Код: plaintext 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. 44. 45. 46. 47. Код выдернут из контекста и не понятно, где и когда он вызывается. Но однозначно можно сказать, что знанием матчасти также отсутствует. Необходимо вызывать Application.LoadComponent("Требуемый UriPack") перед InitializeComponent(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 12:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPFКод выдернут из контекста и не понятноКонтекст описан чуть выше. I've WPFгде и когда он вызывается.При старте приложения. В например Application.OnStartup. I've WPFНо однозначно можно сказать, что знанием матчасти также отсутствует.Ну к тебе и обратились за помощью. I've WPFНеобходимо вызывать Application.LoadComponent("Требуемый UriPack") перед InitializeComponent().Какая нах разница? Причём тут InitializeComponent? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 12:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КНу у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-) Да не ошибаешься, правильно предположил. Действительно, привязка к ItemsSource. Действительно, меняю датаконтекст. Но ItemsSource то я не меняю, поэтому твой тынц - это всё-таки "не то". Понятно, что ноги из одного и того же места растут. При смене датаконтекста меняется (обнуляется) итемссорс, при смене итемссорса сбрасывается селектедайтем (уж так комбобокс уроды реализовали). Но почему, блин, нельзя было внутрях вьюхи сначала отцепить датаконтекст, а уже потом обнулять комбобоксовый итемссорс, пусть даже с последующим (обусловленным реализацией комбобокса) обнулением селектедайтема? Кривая реализация комбобокса так бы и осталась, куда б она делась, но эта комбобоксовая кривость хотя бы не проваливалась на уровень уже отцепленной вьюмодели. А так - на одно говно наложилось другое, в итоге говно в квадрате. Сидорасы, одним словом. Если данные должны синхронизироваться в два конца, то что должно произойти, когда на одном они обнуляются? WPF нервно относится к нулевому datacontext, нигде я не видел подобного. Если тебе это нужно, то твоя нелучшая реализация(в так горячо вами обсуждаемом Prism, это делается без кода во view) самого дубого варианта - View First сделана криво. В pwf 4.0 движок переделан, исправлены косяки, посему квадраты и проявляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:02 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей ККакая нах разница? Причём тут InitializeComponent? Сначала инициализируем контролы, а потом пытаемся им втолковать, как они должны смотреться?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPFАлексей ККакая нах разница? Причём тут InitializeComponent? Сначала инициализируем контролы, а потом пытаемся им втолковать, как они должны смотреться?!Ну посмотри уже постановку задачи. Речь идёт о присоединении скина через Application.Resources и о наследовании "дефолтных" стилей для типа и о неадекватном (наверное) поведении дизайнера. В рантайме это работает, а дизайнер от этого гибнет. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:28 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPFЕсли данные должны синхронизироваться в два конца, то что должно произойти, когда на одном они обнуляются? Тюю А где ж они у меня обнуляются то, эти самые данные? Создал вьюху - прицепил к датаконтексту - отцепил от датаконтекста - убил вьюху Из кода данные не менял. Ни "простые" данные, ни итемссорс у комбобокса. В интерфейсе тоже ничего не менял. Вообще даже мышью во вью не тыкал. И тут, панимаешь ли, шевеление вьюмодели непонятно откуда. Отрубилихуюголову - а тушка обезглавленная впляс. WPF нервно относится к нулевому datacontext, нигде я не видел подобного. Так я нипонил, это чьи проблемы? То говорил - кури букварь, проперти у селектора есть, то вдруг - wpf нервно относится. Мне что, успокоительного ему накапать, чтоб он не нервничал так? Если тебе это нужно Что "это"? Мне нужно отцепить вьюху от вьюмодели. Например для того, чтобы прицепить к другой вьюмодели. Или для того, чтобы к этой вьюмодели прицепить другую вьюху. Или мало ли еще для чего. Что бы мне ни было нужно - в момент отцепления вьюмодели от вьюхи я не ожидаю шевелений беспричинных. то твоя нелучшая реализация(в так горячо вами обсуждаемом Prism, это делается без кода во view) самого дубого варианта - View First сделана криво. Хде ж ты у меня увидел код во View? И уж как можно сделать "некриво" две строчки кода со смыслом "прицепил вьюмодель ко вьюхе" и "отцепил вьюмодель от вьюхи"? Хоть View First, хоть не View First, хоть Prism, хоть не Prism. В pwf 4.0 движок переделан, исправлены косяки, посему квадраты и проявляются. Так чиво там с пропертёй у селектора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПМне нужно отцепить вьюху от вьюмодели. Например для того, чтобы прицепить к другой вьюмодели. Или для того, чтобы к этой вьюмодели прицепить другую вьюху. Или мало ли еще для чего. Что бы мне ни было нужно - в момент отцепления вьюмодели от вьюхи я не ожидаю шевелений беспричинных.А может не нужно обнулять DataContext? Просто обнулить все ссылки на вьюху, убрать её из логического дерева - и она рано или поздно погибнет от рук равнодушного GC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ну или подумать о DataTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 13:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КI've WPFАлексей ККакая нах разница? Причём тут InitializeComponent? Сначала инициализируем контролы, а потом пытаемся им втолковать, как они должны смотреться?!Ну посмотри уже постановку задачи. Речь идёт о присоединении скина через Application.Resources и о наследовании "дефолтных" стилей для типа и о неадекватном (наверное) поведении дизайнера. В рантайме это работает, а дизайнер от этого гибнет. Код: plaintext 1. 2. 3. 4. тынц или http://%5DDesignTimeResourceDictionary%5B/url], или ComponentResourceKey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 14:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПМне нужно отцепить вьюху от вьюмодели.А может не нужно обнулять DataContext? Это такая задачка на сообразительность? Как отцепить вью от вьюмодели, не обнуляя при этом DataContext? Уважуха. По буддистски. Прям таки хлопок одной ладонью. А вообще весело. Получается, что вот так вот писать нельзя: Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Просто обнулить все ссылки на вьюху, убрать её из логического дерева - и она рано или поздно погибнет от рук равнодушного GC? ... и не дай то бог сотворить свою тупую реализацию ICommand, и прибиндить к ней кнопь. Тады равнодушный GC так и останется равнодушным. Вьюхи же будут плодиться как кролики, и жить как дунканы макклауды. Ну ладно, я знаю, что так делать низзя. А ежели мне кирпич на голову упадёт, и на моё место придёт кто-то, кто этого не знает, и словей типа DelegateCommand ни разу в рот не брал? Да и вообще, страшновато. Тут одна то вьюха через пень колоду биндится. А ты предлагаешь их на неопределённое время оставлять несколько, прибиндиных к одной вьюмодели. Можно, конечно, но сначала надо на работу взять правоверного мусульманина, чтоб он молился пять раз в день. Ну или подумать о DataTemplate. В куда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 14:58 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2.DesignTimeResourceDictionary или 3.DesignTimeResourceDictionary in Blend , или 4.ComponentResourceKey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 15:00 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КЛПМне нужно отцепить вьюху от вьюмодели.А может не нужно обнулять DataContext? Это такая задачка на сообразительность? Как отцепить вью от вьюмодели, не обнуляя при этом DataContext? Уважуха. По буддистски. Прям таки хлопок одной ладонью. А вообще весело. Получается, что вот так вот писать нельзя: Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Просто обнулить все ссылки на вьюху, убрать её из логического дерева - и она рано или поздно погибнет от рук равнодушного GC? ... и не дай то бог сотворить свою тупую реализацию ICommand, и прибиндить к ней кнопь. Тады равнодушный GC так и останется равнодушным. Вьюхи же будут плодиться как кролики, и жить как дунканы макклауды. Ну ладно, я знаю, что так делать низзя. А ежели мне кирпич на голову упадёт, и на моё место придёт кто-то, кто этого не знает, и словей типа DelegateCommand ни разу в рот не брал? Да и вообще, страшновато. Тут одна то вьюха через пень колоду биндится. А ты предлагаешь их на неопределённое время оставлять несколько, прибиндиных к одной вьюмодели. Можно, конечно, но сначала надо на работу взять правоверного мусульманина, чтоб он молился пять раз в день. Ну или подумать о DataTemplate. В куда? Действительно, самая главная загвоздка - это во, что думать? 1.При смене DataContext на другую ViewModel все прекрасно обновляется без твоих бубнов. 2.Ты наивно полагаешь, что при обнулении DataContext, GC тут же бросается делать уборку, и без этого никак нельзя? Учи матчать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 15:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've1.При смене DataContext на другую ViewModel все прекрасно обновляется без твоих бубнов. Ага, только при смене DataContext не на другую ViewModel, а на null - всё обновляется далеко не прекрасно. 2.Ты наивно полагаешь, что при обнулении DataContext, GC тут же бросается делать уборку, и без этого никак нельзя? Для тупых повторяю. Без обнуления DataContext (простым убиванием своих ссылок на вью) - GC ваапсче не проснётся, если ему чуть-чуть помочь с ICommand Учи матчать. Чего там с пропертёй у селектора, учёный ты наш? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 15:47 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПi've1.При смене DataContext на другую ViewModel все прекрасно обновляется без твоих бубнов. Ага, только при смене DataContext не на другую ViewModel, а на null - всё обновляется далеко не прекрасно. 2.Ты наивно полагаешь, что при обнулении DataContext, GC тут же бросается делать уборку, и без этого никак нельзя? Для тупых повторяю. Без обнуления DataContext (простым убиванием своих ссылок на вью) - GC ваапсче не проснётся, если ему чуть-чуть помочь с ICommand Учи матчать. Чего там с пропертёй у селектора, учёный ты наш? :) 1. Для особо одаренных юных гениев повторяю, только придурки это делают. Найди хотя бы один пример из вменяемого источники, где процветает подобный маразм. 2.Ты не перегрелся на солнце? GC теперь еще и ICommand нужен! У тебя полная каша в голове. 3.Загляни хотя бы раз в документацию или еще сам жевать не научился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 16:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPF1. Для особо одаренных юных гениев повторяю, только придурки это делают. Найди хотя бы один пример из вменяемого источники, где процветает подобный маразм. Т.е. view.DataContext = null - делать низзя? Никак никогда низачем? 2.Ты не перегрелся на солнце? GC теперь еще и ICommand нужен! У тебя полная каша в голове. Ты парусске панимаишь? GC ICommand не нужен. Примитивная (но совершенно легитимная) реализация ICommand, прибиндиная к кнопке во вьюхе, не позволит GC собрать view (если предварительно не сделать view.DataContext = null, а делать так нельзя, потому что смотри п.1. ) 3.Загляни хотя бы раз в документацию или еще сам жевать не научился? Панятна, слив засчитан. В следующий раз будешь проходить мимо - проходи дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 16:42 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
I've WPF тынц или http://%5DDesignTimeResourceDictionary%5B/url], или ComponentResourceKey I've WPF 2.DesignTimeResourceDictionary или 3.DesignTimeResourceDictionary in Blend , или 4.ComponentResourceKey Ценю твой труд по поиску ссылок, но, к сожалению, ничего нового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 17:03 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПI've WPF1. Для особо одаренных юных гениев повторяю, только придурки это делают. Найди хотя бы один пример из вменяемого источники, где процветает подобный маразм. Т.е. view.DataContext = null - делать низзя? Никак никогда низачем? 2.Ты не перегрелся на солнце? GC теперь еще и ICommand нужен! У тебя полная каша в голове. Ты парусске панимаишь? GC ICommand не нужен. Примитивная (но совершенно легитимная) реализация ICommand, прибиндиная к кнопке во вьюхе, не позволит GC собрать view (если предварительно не сделать view.DataContext = null, а делать так нельзя, потому что смотри п.1. ) 3.Загляни хотя бы раз в документацию или еще сам жевать не научился? Панятна, слив засчитан. В следующий раз будешь проходить мимо - проходи дальше. Если ты MCУ или его клон, то с этого нужно было начинать. Это уже обсуждалось. В сад, тупица.Только у тебя с этим проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 17:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПНу или подумать о DataTemplate. В куда?Ну ты пихаешь свою вьюмодель прамо в контейнер (myContentControl.Content = myViewModel). Удаляешь оттуда когда надо (myContentControl.Content = null) и вьюха чудом удаляется сама собой. Правда все ICommand-ы должны быть кошерными. Но это уже прописная истина, которую должен знать каждый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 17:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Алексей К ЛПНу или подумать о DataTemplate. В куда?Ну ты пихаешь свою вьюмодель прамо в контейнер (myContentControl.Content = myViewModel). Удаляешь оттуда когда надо (myContentControl.Content = null) и вьюха чудом удаляется сама собой. Оно в реальности чуть-чуть не так, но положим. При чём здесь DataTempate, я не понял? Пусть надо сменить одну вьюху на другую, при неизменной вьюмодели. Куда мне сдался DataTemplate? Правда все ICommand-ы должны быть кошерными. Но это уже прописная истина, которую должен знать каждый. Command'ы кошерные, Behavior'ы кошерные, хер его знает что еще кошерные... Положим знаю я это. Буду жить вечно, гарантирую работодателю, что никуда не захочу уйти, и он мне тоже гарантирует, что я никуда не захочу уйти. Гвоздём к монитору прибью бумажку для потомков "Не вздумай с**а реализовывать свою ICommand, ниасилишь, горя хапнешь". А как это влияет на то, что у меня в один момент времени живет две вьюхи, прибинденые к одной вьюмодели, и одна из этих вьюх хрен пойми когда соберётся GC с неразберипойми какими побочными эффектами? ---------------------------- 2 i've Ты еще не отыскал пропертю у селектора? Ну иди ищи, болезный :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 18:22 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К ЛПНу или подумать о DataTemplate. В куда?Ну ты пихаешь свою вьюмодель прамо в контейнер (myContentControl.Content = myViewModel). Удаляешь оттуда когда надо (myContentControl.Content = null) и вьюха чудом удаляется сама собой. Оно в реальности чуть-чуть не так, но положим. При чём здесь DataTempate, я не понял? Пусть надо сменить одну вьюху на другую, при неизменной вьюмодели. Куда мне сдался DataTemplate? Правда все ICommand-ы должны быть кошерными. Но это уже прописная истина, которую должен знать каждый. Command'ы кошерные, Behavior'ы кошерные, хер его знает что еще кошерные... Положим знаю я это. Буду жить вечно, гарантирую работодателю, что никуда не захочу уйти, и он мне тоже гарантирует, что я никуда не захочу уйти. Гвоздём к монитору прибью бумажку для потомков "Не вздумай с**а реализовывать свою ICommand, ниасилишь, горя хапнешь". А как это влияет на то, что у меня в один момент времени живет две вьюхи, прибинденые к одной вьюмодели, и одна из этих вьюх хрен пойми когда соберётся GC с неразберипойми какими побочными эффектами? ---------------------------- 2 i've Ты еще не отыскал пропертю у селектора? Ну иди ищи, болезный :) Я ее давно нашел. Многоликий ты наш, придет другой, у работодателя сразу все образуется, без гвоздей и бумажек. Просто диву даешься, в каком кол-ве и беспорядке разбросан мусор в твоей голове. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 19:00 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 i've Тебе нечего сказать по теме? Иди отсюда, флудераст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 19:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Не смеши, весь этот топик - один сплошной флуд. Мальчики кое-как научились ездить на велосипеде Winform, пытаются пересесть на WPF, но у него педали в другом месте и их самоделкинские колеса к нему не подходят.Сучат ножками в пустоте, не могут их найти, кричат: "Ай-яй, какой неправильный велосипед!!!".А инструкцию прочесть им лень,ведь они уже и так большие и грамотные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 20:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i'veМальчики кое-как научились ездить на велосипеде Winform, пытаются пересесть на WPF SeVa, он же СервладЪ, он же недоученный евангелистЪ, .... пачтидаун детектед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 21:28 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПОно в реальности чуть-чуть не так, но положим. При чём здесь DataTempate, я не понял? Пусть надо сменить одну вьюху на другую, при неизменной вьюмодели. Куда мне сдался DataTemplate?Меняешь DataTemplate на другой. DataTemplateSelector опять же... ЛППравда все ICommand-ы должны быть кошерными. Но это уже прописная истина, которую должен знать каждый.А как это влияет на то, что у меня в один момент времени живет две вьюхи, прибинденые к одной вьюмодели, и одна из этих вьюх хрен пойми когда соберётся GC с неразберипойми какими побочными эффектами?Ну когда появятся побочные эффекты - тогда и будеш разгребать. Чё раньше времени проблему создавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 06:02 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Алексей К Меняешь DataTemplate на другой. DataTemplateSelector опять же... Та што ш такое... Куда дататемплейт? Зачем дататемплейт? Есть вьюха раз, есть вьюха два. Куда темплейт засунуть? У меня нет такой проблемы - "как бы мне исхитриться одни и те же данные по разному отобразить". Для решения этой задачи собственно вьюхи и имеются. Разные отображения - разные вьюхи. У меня нет такой проблемы - "как бы мне разные вьюхи исхитриться нарисовать где-то на экране". Могу руками их в какой-нибудь контентконтрол засунуть, могу ногами через какой-нибудь регионманагер протолкнуть. Суть то не в том. Ну когда появятся побочные эффекты - тогда и будеш разгребать. Чё раньше времени проблему создавать? Ничего, что когда проблемы появятся, я за неделю на оленях не доеду дотуда, где их придётся разгребать? Есть вьюха, используется для отображения. Перестала использоваться для отображения - ну и в топку её. Оторвать ей всю связь с внешним миром, и пусть себе в памяти висит, ждёт прихода GC. Её там хоть насквозь перекорёжить может всю, не страшно, ибо она уже ни к чему не привязана, живёт своей жизнью в ожидании своей смерти. По моему вполне кошерный подход. Ты предлагаешь не отвязывать её от всего остального, дескать авось прокатит, авось ничего страшного не случится. Так вот у меня нет уверенности в том, что ничего страшного не случится. Я вон вижу, что вьюха уже на ровном месте обсираться умудряется, на строчке view.DataContext=null. Она живёт то еле-еле, а уж как будет умирать - ваапсче неизвестно. И будет ли она спокойно дожидаться своей смерти вплоть до прихода GC, или у неё еще какие бзики начнутся - не знаю, и, в общем-то, надеюсь никогда этого не узнать. На "авось" программировать как то не хочецо. Есть локализованное место в коде, где безболезненно отцепить вьюху можно - значит в этом месте безболезненно отцепить вьюху нужно. Совсем безболезненно не получилось, возникли проблемы странные? Ну вот эти проблемы я потихоньку и решаю. Вовсе не "раньше времени", а как только, так сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 07:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К Меняешь DataTemplate на другой. DataTemplateSelector опять же... Та што ш такое... Куда дататемплейт? Зачем дататемплейт? Есть вьюха раз, есть вьюха два. Куда темплейт засунуть? Ну DataTemplate и есть одно из проявлений View. Если у тебя уже есть UserControl - ну пихани его в DataTemplate. Когда произойдёт myContentControl.Content = null - умрёт DataTemplate, а вместе с ним и твой UserControl. Если я неправильно понял постановку задачи - не суди строго. :-)) ЛПНу когда появятся побочные эффекты - тогда и будеш разгребать. Чё раньше времени проблему создавать? Ничего, что когда проблемы появятся, я за неделю на оленях не доеду дотуда, где их придётся разгребать?Предполагаю, что если будут проблемы - они вылезут сразу. Оленей запрячь не успееш. ЛПЕсть вьюха, используется для отображения. Перестала использоваться для отображения - ну и в топку её. Оторвать ей всю связь с внешним миром, и пусть себе в памяти висит, ждёт прихода GC. Её там хоть насквозь перекорёжить может всю, не страшно, ибо она уже ни к чему не привязана, живёт своей жизнью в ожидании своей смерти. По моему вполне кошерный подход. Ты предлагаешь не отвязывать её от всего остального, дескать авось прокатит, авось ничего страшного не случится. Так вот у меня нет уверенности в том, что ничего страшного не случится. Я вон вижу, что вьюха уже на ровном месте обсираться умудряется, на строчке view.DataContext=null. Она живёт то еле-еле, а уж как будет умирать - ваапсче неизвестно. И будет ли она спокойно дожидаться своей смерти вплоть до прихода GC, или у неё еще какие бзики начнутся - не знаю, и, в общем-то, надеюсь никогда этого не узнать. На "авось" программировать как то не хочецо. Есть локализованное место в коде, где безболезненно отцепить вьюху можно - значит в этом месте безболезненно отцепить вьюху нужно. Совсем безболезненно не получилось, возникли проблемы странные? Ну вот эти проблемы я потихоньку и решаю. Вовсе не "раньше времени", а как только, так сразу.Бретанские учоные доказали, что DataBinding в WPF сделан по уму. Предположительно, биндинги отписываются от PropertyChanged вьюмодели при отсоединении от логического дерева (FrameworkElement.Unload event). Или там всё замучено через Weak Event Pattern, не столь важно. Если бездумно самому не подписываться из вью на события вьюмодели, а делать всё через биндинги - проблем быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 07:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЯИли там всё замучено через Weak Event Pattern, не столь важноСкорее всего именно так. В противном случае зачем в MSDN болтается описание System.ComponentModel.PropertyChangedEventManager. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 07:36 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Мусичка,его тупологоловые клоны в тапочках и прочие инкарнации, уж вам ли рассуждать о банах? Относительно ваших визгов о сырости wpf с отсутствием IDisposable: 1. Разработчики wpf сознательно от него отказались и перешли на cлабые ссылки, тк контролам нечего диспозить(у них не должно быть handler'oв и неуправляемых ресурсов). Единственное о чем нужно беспокоится - на него не должно быть ссылок 2. В Dispose можно забыть сделать отписку(это ты и делаешь, в силу своей тупости, полагая, что Winforms сама этим занимается).Ничего подобного она не делает. Вы привыкли только к контролам, а wpf можно и нужно управлять закрытием через viewmodel. Просто колеса находятся не там и можно ехать не задом на перед. Если не можете осилить новое, то никто вам не виноват. ЗЫ PropertyChanged реализован через WeakReference ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 08:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpfЗЫ PropertyChanged реализован через WeakReferencePropertyChanged реализует кто как хочет. А вот подписка на него в Binding реализована через Weak Event. Чего не сделано в подписке на ICommand.CanExecuteChanged. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 08:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Алексей К Бретанские учоные доказали, что DataBinding в WPF сделан по уму. Конечно, конечно. Датабиндинг в WPF сделан по уму. А я тут наверное рендеринг фонтов обсуждаю, а вовсе не косяки в датабиндинге :) Предположительно, биндинги отписываются от PropertyChanged вьюмодели при отсоединении от логического дерева (FrameworkElement.Unload event). Или там всё замучено через Weak Event Pattern, не столь важно. Да кто ж тебе такую глупость сказал? Отписывались бы биндинги - не было бы проблем, например, с ICommand. Это как минимум. Конечно же не отписываются. Да еще и мне не дают корректно отписаться. Делов на пять минут, возьми да проверь, отписываются биндинги или нет. У меня вот выгруженная (но пришпиленная в памяти) вюха очень даже хорошо тянет в себя все изменения вьюмодели. И в себя тянет, и из себя выплёвывает, если её не отцепить от вьюмодели. Чего я сделать корректно не могу из за косяков датабиндинга. Не знаю уж как там у британских ученых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 08:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛППредположительно, биндинги отписываются от PropertyChanged вьюмодели при отсоединении от логического дерева (FrameworkElement.Unload event). Или там всё замучено через Weak Event Pattern, не столь важно. Да кто ж тебе такую глупость сказал? Отписывались бы биндинги - не было бы проблем, например, с ICommand. Это как минимум. Просто у коммандов свои механизмы, не использующие датабиндинг. С этим придётся смириться и жить дальше. Тем более, все берут готовый DelegateCommand и не парятся по этому поводу. ЛПНе знаю уж как там у британских ученых.Кстати, бретанские учёные установили .Net 4 и описанных тобой проблем не наблюдают. Проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 08:59 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpf1. Разработчики wpf сознательно от него отказались и перешли на cлабые ссылкиЗря. i've wpf, тк контролам нечего диспозить(у них не должно быть handler'oв и неуправляемых ресурсов).Отписка от событий - одна из задач Dispose. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К Бретанские учоные доказали, что DataBinding в WPF сделан по уму. Конечно, конечно. Датабиндинг в WPF сделан по уму. А я тут наверное рендеринг фонтов обсуждаю, а вовсе не косяки в датабиндинге :) Предположительно, биндинги отписываются от PropertyChanged вьюмодели при отсоединении от логического дерева (FrameworkElement.Unload event). Или там всё замучено через Weak Event Pattern, не столь важно. Да кто ж тебе такую глупость сказал? Отписывались бы биндинги - не было бы проблем, например, с ICommand. Это как минимум. Конечно же не отписываются. Да еще и мне не дают корректно отписаться. Делов на пять минут, возьми да проверь, отписываются биндинги или нет. У меня вот выгруженная (но пришпиленная в памяти) вюха очень даже хорошо тянет в себя все изменения вьюмодели. И в себя тянет, и из себя выплёвывает, если её не отцепить от вьюмодели. Чего я сделать корректно не могу из за косяков датабиндинга. Не знаю уж как там у британских ученых. 1 Выше имелось ввиду, что обработка именений реализована через слабые ссылки. 2. Нисколько не сомневаюсь, что у тебя все вьюхи работают через одно место, которым ты привык думать. WPF гораздо больше возможностей накосячить, с твоими способностями косяки будут не в квадратах.Твоя полова,которую ты демострировал, прекрасное тому подтверждение. Оставайтесь на winforms, не тужтесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:04 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПНе знаю уж как там у британских ученых.Кстати, бретанские учёные установили .Net 4 и описанных тобой проблем не наблюдают. Проверь. Алексей, я то как раз проверил. В отличие от тебя, поверившего британским ученым на слово. Тянет выгруженная вьюха изменения из вьюмодели. В FW 4.0. Единственное, чем в данном вопросе поможет FW 4.0 - там можно корректно отписаться самому, без лишних шевелений вьюмодели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:05 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Сева, я тебя сегодня еще не посылал нах? Иди, ищи пропертю у селектора, которой обуславливаются такие глюки датабиндингов :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КПросто у коммандов свои механизмы, не использующие датабиндинг. С этим придётся смириться и жить дальше. Тем более, все берут готовый DelegateCommand и не парятся по этому поводу.А вот если бы ICommand выглядел бы как-то так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:07 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Гнидка он же МСУ, это единственное, что ты умеешь делать(и то бездарно).Пойми одну простую вещь - ты действительно не ошибался, когда подписывался ЧМОм, отложи в сторону свой дерьмокод, возми нормальный framework, попробуй найти в нем утечки, если найдешь, то тебе скажут спасибо и тут же исправят.Может быть что-то и поймешь, а демострировать свою тупость в форуме не нужно, никто тебе не виноват, что родители бракоделы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:23 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПЕдинственное, чем в данном вопросе поможет FW 4.0 - там можно корректно отписаться самому, без лишних шевелений вьюмодели.Ну я о том и говорю, что в .Net 4 можно безболезненно view.DataContext = null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПЕдинственное, чем в данном вопросе поможет FW 4.0 - там можно корректно отписаться самому, без лишних шевелений вьюмодели.Ну я о том и говорю, что в .Net 4 можно безболезненно view.DataContext = null. Да нет, я так понял, что ты пытался меня убедить в том, что и делать этого не надо, потому что всё тип-топ. Типа выгрузил вьюху, и всё, можно больше ни о чём не беспокоиться, мудрые разработчики сами отцепили биндинги на событии Unload, и потому как бы там вьюху не сколбасило, оно уже ничему не повредит. Это не так. И в 3.5 не так, и в 4.0 не так. А то, что в 4.0 можно безболезненно делать view.DataContext = null - дык это я и сам уже тут писал. Толку то от этого. Мне надо в 3.5 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:38 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПДа нет, я так понял, что ты пытался меня убедить в том, что и делать этого не надо, потому что всё тип-топ. Типа выгрузил вьюху, и всё, можно больше ни о чём не беспокоитьсяНу я до сих пор придерживаюсь такого мнения. Переубеждать тебя не собираюсь. ЛП, мудрые разработчики сами отцепили биндинги на событии UnloadТам на Weak Event-ах. ЛПА то, что в 4.0 можно безболезненно делать view.DataContext = null - дык это я и сам уже тут писал.Сори, не заметил. ЛПТолку то от этого. Мне надо в 3.5 :)Сопереживаю. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Алексей К Там на Weak Event-ах. Да хоть на паровой тяге : ) Вьюха живая? Живая. Выгруженная, но живая. Пока к ней GC не пришел. А когда он придёт - неведомо. Биндинги живые? Живые, раз уж никто не удосужился их убить. Обмен между вьюхой и вьюмоделью идёт? Куда ж он денется. Чего там с вьюхой может произойти - хз. Но британские ученые утверждают, что всё пучком. Ну я до сих пор придерживаюсь такого мнения. Это очень хорошее мнение. - Как отцепить вью от вьюмодели? - Зачем? - Во избежание проблем. - А никаких проблем нет и не может быть. - Абасрацо. Если никаких проблем нет и быть не может, то почему же с отцеплением вьюхи проблемы есть? Ведь их не может быть? Как то примерно вот так вот получается Впрочем, тоже не собираюсь тебя переубеждать. Программирование на авось - тоже неплохой вариант. Вероятностное программирование, так сказать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:58 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К Там на Weak Event-ах. Да хоть на паровой тяге : )А вот это вот очень важно. ЛПВьюха живая? Живая. Выгруженная, но живая. Пока к ней GC не пришел. А когда он придёт - неведомо. Биндинги живые? Живые, раз уж никто не удосужился их убить. Обмен между вьюхой и вьюмоделью идёт? Куда ж он денется. Чего там с вьюхой может произойти - хз. Но британские ученые утверждают, что всё пучком.Ну ты сам прикинь. Вьюха не в графе достижимых объектов и ждёт прихода беспощадного GC. Биндинги не будут реагировать на PropertyChanged, потому что Weak Event. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 10:09 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛППрограммирование на авось - тоже неплохой вариант. Вероятностное программирование, так сказать :)А без строгой типизации, которая нынче пропагандируется в XAML, только это и остаётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 10:19 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К Там на Weak Event-ах. Да хоть на паровой тяге : ) Вьюха живая? Живая. Выгруженная, но живая. Пока к ней GC не пришел. А когда он придёт - неведомо. Биндинги живые? Живые, раз уж никто не удосужился их убить. Обмен между вьюхой и вьюмоделью идёт? Куда ж он денется. Чего там с вьюхой может произойти - хз. Но британские ученые утверждают, что всё пучком. Ну я до сих пор придерживаюсь такого мнения. Это очень хорошее мнение. - Как отцепить вью от вьюмодели? - Зачем? - Во избежание проблем. - А никаких проблем нет и не может быть. - Абасрацо. Если никаких проблем нет и быть не может, то почему же с отцеплением вьюхи проблемы есть? Ведь их не может быть? Как то примерно вот так вот получается Впрочем, тоже не собираюсь тебя переубеждать. Программирование на авось - тоже неплохой вариант. Вероятностное программирование, так сказать :) Пустопорожний бред недоумка, которому, если что-то попадет в головешку, то выскочит минимум через год. Возьми нормальный фреймворк и приведи доказательства своему бреду, что вьюхи продолжают реагировать на изменения в viewmodel. Это только у тебя может быть. Если тебе так уж приспичило, то посмотри caliburn, в нем управление жизненным циклом идет полностью через viewmodel, можешь спокойно и внятно отписываться от своего дерьмокода, если больше нечем занятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 10:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Алексей К А вот это вот очень важно. ... Ну ты сам прикинь. Вьюха не в графе достижимых объектов и ждёт прихода беспощадного GC. Биндинги не будут реагировать на PropertyChanged, потому что Weak Event. Алексей, вот ты сам это проверял, или опять британским ученым поверил? Только честно? -------------------- 2 Сева Пустопорожний бред недоумка, которому, если что-то попадет в головешку, то выскочит минимум через год. Возьми нормальный фреймворк и приведи доказательства своему бреду, что вьюхи продолжают реагировать на изменения в viewmodel. Это только у тебя может быть. Если тебе так уж приспичило, то посмотри caliburn, в нем управление жизненным циклом идет полностью через viewmodel, можешь спокойно и внятно отписываться от своего дерьмокода, если больше нечем занятся. Тебе, невменяемый, еще и доказательства какие-то нужны? Ты еще домашнее задание не сделал. Иди, ищи пропертю во селекторе, которая отвечает за глюки датабиндинга :) Как найдёшь - поговорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 11:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К А вот это вот очень важно. ... Ну ты сам прикинь. Вьюха не в графе достижимых объектов и ждёт прихода беспощадного GC. Биндинги не будут реагировать на PropertyChanged, потому что Weak Event. Алексей, вот ты сам это проверял, или опять британским ученым поверил? Только честно? -------------------- 2 Сева Пустопорожний бред недоумка, которому, если что-то попадет в головешку, то выскочит минимум через год. Возьми нормальный фреймворк и приведи доказательства своему бреду, что вьюхи продолжают реагировать на изменения в viewmodel. Это только у тебя может быть. Если тебе так уж приспичило, то посмотри caliburn, в нем управление жизненным циклом идет полностью через viewmodel, можешь спокойно и внятно отписываться от своего дерьмокода, если больше нечем занятся. Тебе, невменяемый, еще и доказательства какие-то нужны? Ты еще домашнее задание не сделал. Иди, ищи пропертю во селекторе, которая отвечает за глюки датабиндинга :) Как найдёшь - поговорим. Придурок, если ты в документации одно свойство найти не можешь, то о чем ты еще рассуждать берешься? А там достаточно внятно описан алгоритм работы, только для тебя здесь непонятки и "неправильный" биндинг. Иди мыть полы, как тебе уже советовалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:03 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
2 Сева Конечно не могу свойство найти. Это ведь очень секретное свойство. О нём вообще никто не знает, кроме тебя. Правда, Сева? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Сева Конечно не могу свойство найти. Это ведь очень секретное свойство. О нём вообще никто не знает, кроме тебя. Правда, Сева? О IsSynchronizedWithCurrentItem, полная тупица, не знаешь только ты. Это говорит только о том, что полный пробел в познаниях.wpf работает совершенно иначе, чем тебе представляется, в силу уровня ниже канализации. В документации сказано: null if the SelectedItem is synchronized with the current item only if the Selector uses a CollectionView. The default value is null. Попробуй объяснить почему срабатывает синхронизация, если у тебя нет CollectionView. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:23 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП2 Алексей К А вот это вот очень важно. ... Ну ты сам прикинь. Вьюха не в графе достижимых объектов и ждёт прихода беспощадного GC. Биндинги не будут реагировать на PropertyChanged, потому что Weak Event. Алексей, вот ты сам это проверял, или опять британским ученым поверил? Только честно?Нет, не проверял. Просто мнение учоных совпадает с моими знаниями теории. Если это не так - я сильно удивлюсь. :-)) ЗЫ: Я потом обязательно проверю. Сейчас чё-то лень... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:04 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i'veЛП2 Сева Конечно не могу свойство найти. Это ведь очень секретное свойство. О нём вообще никто не знает, кроме тебя. Правда, Сева? О IsSynchronizedWithCurrentItem, полная тупица, не знаешь только ты. Это говорит только о том, что полный пробел в познаниях.wpf работает совершенно иначе, чем тебе представляется, в силу уровня ниже канализации. В документации сказано: null if the SelectedItem is synchronized with the current item only if the Selector uses a CollectionView. The default value is null. Попробуй объяснить почему срабатывает синхронизация, если у тебя нет CollectionView. ой дурачок Севка, тебе следующее домашнее задание. Из шести частей. По очереди установить комбобоксу свойство IsSynchronizedWithCurrentItem в True, False, {x:Null} Проверить, происходит ли обнуление пропертей вьюмодели при выполнении строчки view.DataContext = null После этого поменять во вьюмодели IEnumerable<String> на CollectionView По очереди установить комбобоксу свойство IsSynchronizedWithCurrentItem в True, False, {x:Null} Проверить, происходит ли обнуление пропертей вьюмодели при выполнении строчки view.DataContext = null О результатах доложишь. Особенно если хотя бы в одном из этих вариантов обнуления происходить не будет (в FW 3.5) Как сделаешь домашнее задание, так сразу можешь начинать перелопачивать документацию в поисках еще какого-нибудь свойства селектора, которое могло бы повлиять на глюки датабиндинга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КНет, не проверял. А зря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КНет, не проверял. А зря.Ты меня пугаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
То, что ты не ответишь было понятно сразу. Твой подход в этом и заключается - тупое бросание камушков в колодец с изучением какое буль будет в ответ. Но только такой подход не работает, ты даже не знаешь, что нужно бросать. Для wpf, тупица, можно ограничится всего двумя вариантами, тк null всегда = true. Почему это так, для тебя будет загадкой всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
offЭпический патриот Севка опять рвёт правду-матку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 13:31 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КНет, не проверял. А зря.Ты был прав. Вот сцуки. Отписка биндингов от PropertyChanged походу происходит в финализаторе. GC.Collect рулит. ЗЫ: Я был лучшего мнения о WeakEventManager... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 07:13 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЗЫ: Я был лучшего мнения о WeakEventManager...Был неправ. Так и должно работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 07:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПI've WPFСвойство я уже озвучил Ну теперь делай своё домашнее задание, ищи значение этого свойства, при котором не будет происходить обнуление свойств вьюмодели при обнулении датаконтекста вьюхи. Это ведь твои слова: "у селекторов есть одно замечательное свойство,которое обуславливает подобное поведение"? Твои. Свойство ты назвал? Ты. Вот и давай, используй это свойство чтобы от подобного поведения избавиться. Когда с домашним заданием справишься - начинай копать документацию в поисках нового свойства, "которое обуславливает подобное поведение" Господи, прости меня грешного, негоже над убогими смеяться... ЧМО, не твой ли это шедевр Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 08:02 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КЛПАлексей КНет, не проверял. А зря.Ты был прав. Вот сцуки. Ну, видишь как хорошо. Вьюха выгружена и недосягаема, но живёт где-то там с астрале своей полноценной жизнью. Биндинги работают, нотификейшены нотифицируют. Данные вытягиваются из реального мира. Глючные комбобоксы срут в реальный мир через работающие биндинги. Непонятно когда приходит мусорщик, и начинает разные вьюхи по кусочкам обгладывать, в недетерминированном порядке. Полуобглоданные глючные комбобоксы полуобглоданной глючной вьюхи продолжают срать через полуобглоданные глючные биндинги. Британские ученые доказывают, что всё нормально. Программист верит британским ученым, и считает, что нет необходимости рвать связь вьюхи и вьюмодели, достаточно отцепить её от визуального дерева, и станет всё хорошо. В подмастерьях у программиста бегает севка, считающий, что если чего не хорошо, то это определяется пропертёй селектора. Так и строятся высоконадёжные системы. Всемирная история, банк Империал. Йа лублу ВПФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:45 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Да, достоинств много, но баги в самом главном. В топку такие продукты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 16:25 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУДа, достоинств много, но баги в самом главном. В топку такие продукты... Зубов бояться - в рот не давать. Покажи мне продукт без багов. Главное - британским ученым на слово не верить, а там всё приложится. На аспнете то совсем противно, как и на винформах, так что при всём богатстве выбора... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 16:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛППокажи мне продукт без багов. Ну-ка, отпостите мне баги в ASP.NET платформе. Особенно, интересуют серьезные баги типа утечек памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 17:19 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУЛППокажи мне продукт без багов. Ну-ка, отпостите мне баги в ASP.NET платформе. Зачем? Ты считаешь, что аспнет платформа свободна от багов вообще и от серьёзных в частности, и предлагаешь мне тебя в этом переубедить? Да занафига оно мне надо, считай, если хочешь. Ты думаешь, что в ASP.Net платформе не было, нет, и не может быть багов. Это твоё право, так думать. Алексей К вон думает, что в впф-овских датабиндингах не было, нет, и не может быть багов, и это тоже его право. Вы наверно с одними и теми же британскими учеными общались, только на разные темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 17:57 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПАлексей КЛПАлексей КНет, не проверял. А зря.Ты был прав. Вот сцуки. Ну, видишь как хорошо. Вьюха выгружена и недосягаема, но живёт где-то там с астрале своей полноценной жизнью. Биндинги работают, нотификейшены нотифицируют. Данные вытягиваются из реального мира. Глючные комбобоксы срут в реальный мир через работающие биндинги. Непонятно когда приходит мусорщик, и начинает разные вьюхи по кусочкам обгладывать, в недетерминированном порядке. Полуобглоданные глючные комбобоксы полуобглоданной глючной вьюхи продолжают срать через полуобглоданные глючные биндинги. Британские ученые доказывают, что всё нормально. Программист верит британским ученым, и считает, что нет необходимости рвать связь вьюхи и вьюмодели, достаточно отцепить её от визуального дерева, и станет всё хорошо. В подмастерьях у программиста бегает севка, считающий, что если чего не хорошо, то это определяется пропертёй селектора. Так и строятся высоконадёжные системы. Всемирная история, банк Империал. Йа лублу ВПФ. Бездоказательные,пустопорожние страшилки юного естествоиспытателя, который решил, что если у него протекает крыша, то и у всех так. Поставить к верху одним местом можно все, но из того, что японская бензопила не прожевала лом сибирских лесорубов, следует только то, что они му**ки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 21:34 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i've wpfБездоказательные,пустопорожние страшилки юного естествоиспытателя, который решил, что если у него протекает крыша, то и у всех так. Поставить к верху одним местом можно все, но из того, что японская бензопила не прожевала лом сибирских лесорубов, следует только то, что они му**ки. Эпический подмастерье, ты уже нашел, во что установить пропертю селектора? Если нет, то и сдрисни отсюда :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 04:47 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Гугузела форумная, какую еще страшилку на ночь для МСУ придумал? При кривых могзах и руках остается только списывать свою нерадивость на других. XAMl расширяем, давно бы уже сделал свой вариант (это делали в SL 2.0 из-за неполной реализации Сombox) по Кащенко и ощасливил бы всех остальных. Покажи свое дерьмишко с шевеленками и убитыми вьюшками, а лучше попроси увеличить дозу у лечащего врача ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 08:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Поковырялся в твоем дерьмишке.Наблюдается следующее Код: plaintext 1. àâòîð There is an issue where WPF checks to find things that implement INotifyProperyChanged. If there is a databinding to something not implementing this interface, then it makes a record in a global table. That record doesn't get cleaned up, as WPF has no way of checking when that DB record is no longer needed. Из-за подобной тупости у тебя барабашки общаются с убитыми вью. Все утечки давно подсчитаны и известны . О твоих шевеленках давно бы знали все и давно. За примером далеко ходить не нужно, утечку с template в SL 4.0 раскопали сразу. Только полные бездари все сваливают на других, глюки есть везде, но всегда есть возможность их обойти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 09:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Ты му**ло, не даешь возможности использовать слабые ссылки, а на них построен весь WPF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 09:16 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
i'veПоковырялся в твоем дерьмишке. Гыгыг. Судьба твоя такой, севка, в моих какашках ковыряться. На большее ты не годен. Кстати, только что ты признал, что перед этим ты несколько дней рвал и метал даже не прочитав, о чём собственно речь идёт. А я то гадаю, где ты у меня во view какой-то код сумел увидеть Наблюдается следующее Код: plaintext 1. àâòîð There is an issue where WPF checks to find things that implement INotifyProperyChanged. If there is a databinding to something not implementing this interface, then it makes a record in a global table. That record doesn't get cleaned up, as WPF has no way of checking when that DB record is no longer needed. Сев, ты дебил? Вот только честно? С медицинской точки зрения? Какое нахрен обзервабл? Для чего? Для коллекции, которая один раз задаётся, и больше никогда не меняется? Которая прибиндина к комбобоксу в режиме Mode=OneTime? Ты дурак совсем, да? Если совсем дурак - ну покопайся еще в моём дерьмишке, поменяй там IEnumerable<String> на ObservableCollection<String>. Заодно можешь и свойство селектора во что-нибудь поустанавливать. О результатах доложишь. Песец, блин. Цирк уехал, клоуны остались. Из-за подобной тупости у тебя барабашки общаются с убитыми вью. Барабашки общаются с убитыми вью даже без каких-либо коллекций. Через какое-нибудь проперти типа System.Int32 совершенно точно так же общаются. Или ты и на System.Int32 предлагаешь ObservableCollection повесить? Ну повесь, всё равно ж не поможет. Ты му**ло, не даешь возможности использовать слабые ссылки, а на них построен весь WPF Мудило здесь только ты, причём катастрофически эпическое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 11:23 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛП адназначна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 11:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Действительно, в одну сторону. Не ожидал, что за забором это знают, а дальше ковыряться было лениво(ты свое дерьмишко, как и клон, стыдливо крестиками прикрываешь). Еще раз повторяю, если только у тебя водятся барабашки, покажи код или обращайся к лечащему врачу,а страшилки, рассказывай соседям по больничной койке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2010, 13:47 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Для удаления биндинга есть спец методы - ClearAllBinding & ClearBinding, а не твои удары веслом по голове своих контролов. У таких "оптимизаторов" с шаловливыми ручками, которые даже документацию не читают, как правило, ничего не работает, тогда они начинают искать козявки в чужом носу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 08:24 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iДля удаления биндинга есть спец методы - ClearAllBinding & ClearBinding Вась, ты дурак, да? А если потом эту вьюху (бездарно покуроченную) понадобится к другому датаконтексту прикрепить, что делать прикажешь? Пришивать биндинги обратно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 08:52 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПiДля удаления биндинга есть спец методы - ClearAllBinding & ClearBinding Вась, ты дурак, да? А если потом эту вьюху (бездарно покуроченную) понадобится к другому датаконтексту прикрепить, что делать прикажешь? Пришивать биндинги обратно? Вот с этого и начинал бы сразу. Теперь понятно откуда у тебя "шевеленки" c якобы "убитыми" view. "Оптимизатор", ты полный кретин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 09:00 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iЛПiДля удаления биндинга есть спец методы - ClearAllBinding & ClearBinding Вась, ты дурак, да? А если потом эту вьюху (бездарно покуроченную) понадобится к другому датаконтексту прикрепить, что делать прикажешь? Пришивать биндинги обратно? Вот с этого и начинал бы сразу. Вась, ты не дурак, ты дебил. Еще и читать не умеешь. Я с самого начала и сказал, что мне надо отцепить вьху от вьюмодели. На вопрос "зачем" так и ответил - "или для того, чтобы прицепить её к другой вьюмодели, или для того, чтобы она просто померла спокойно" Предложенное "не делать ничего" очевидно не подходит для случая, когда вьюхе предстоит просто спокойно помереть (она будет шевелиться вслед за вьюмоделью). Предложенное "покромсать все биндинги" - эт ваще дураком надо быть. Разумеется не подходит, если вьюхе суждено быть прицепленной к другой вьюмодели. Единственное, что мне нужно - сделать view.DataContext = null без побочных эффектов. Всё, не надо мне больше ничего. Не надо мне херить коллекцию биндингов у вьюхи. Если до тебя это только что долшло, то я рад за тебя. Песец, блин, жираф подмастерье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 09:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Гугузела, единственное, что тебе нужно сделать - обратиться к врачу. Подобный бред только там обсуждать нужно. В сад, "оптимизатор" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 09:40 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Севка, по теме есть чего сказать? Если нечего, то и сдристни отседова. Иди, ищи пропертю у селектора :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 09:55 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛузерокПолнейший, попробуй обработать еще дустом подлых барабашек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2010, 10:37 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iЛПiДля удаления биндинга есть спец методы - ClearAllBinding & ClearBinding Вась, ты дурак, да? А если потом эту вьюху (бездарно покуроченную) понадобится к другому датаконтексту прикрепить, что делать прикажешь? Пришивать биндинги обратно? Вот с этого и начинал бы сразу. Теперь понятно откуда у тебя "шевеленки" c якобы "убитыми" view. "Оптимизатор", ты полный кретин. Да, функциональный программист из него точно не выйдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 07:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Просто у меня уже прошел период, когда мальчики вырастают, уже достают до педалей, накрутили первые километры вокруг дома, и начинают из своего трехколесного велосипеда делать самый быстрый и легкий(с пеленок мечтали участвовать в Тур де Франс). Те детальки, которые удалось открутить, уродуют до неузнаваемости, обычно все ломают или забрасывают. Если ребенок упорный, то может быть, велосипед и поедет без половины деталей(для чего они он так и не понял), но до первой кочки(конструкция получилась хлипкая) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 07:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iПросто у меня уже прошел период, когда мальчики вырастают, уже достают до педалей, накрутили первые километры вокруг дома, и начинают из своего трехколесного велосипеда делать самый быстрый и легкий(с пеленок мечтали участвовать в Тур де Франс). Те детальки, которые удалось открутить, уродуют до неузнаваемости, обычно все ломают или забрасывают. Если ребенок упорный, то может быть, велосипед и поедет без половины деталей(для чего они он так и не понял), но до первой кочки(конструкция получилась хлипкая) Севк, про тебя Даниил Хармс очень хорошо написал. "Я не стал затыкать ушей. Все заткнули, а я один не заткнул, и потому я один все слышал. Я так же не закрывал тряпкой глаз, как это сделали все, и потому я все видел. Да, я один все видел и слышал. Но, к сожалению, я ничего не понял, значит, какая цена тому, что я один все видел и слышал. Я даже не мог запомнить того, что я видел и слышал. Какие-то отрывочные воспоминания, закорючки и бессмысленные звонки." Ты всё видел, ты всё слышал, но ты нихера не понял. Правда, в отличие от героя Хармса, который хотя бы понял, что он ничего не понял, ты не понял вообще ничего, даже того, что не понял ты нихера. Слов умных в книжках прочитал, а вот их значение для тебя до сих пор загадка :) Кстати, ты уже нашел значение для проперти у селектора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 08:53 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Да, Хармс верно описал нашего эпического героя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 09:29 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Да, все я понял, ЛП, сам такой был, вылизывал милисикунды там,где не нужно, писал ассемблерные вставки и тд. Со временем научишься не только ломать, если не будешь сидеть, как МСУ в резервации с надутыми щеками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 10:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУДа, Хармс верно описал нашего эпического героя :) Хармс и тебя описал, твой башка ничего не страшно Господин невысокого роста с камушком в глазу подошел к двери табачной лавки и остановился. Его черные, лакированные туфли сияли у каменной ступенечки, ведущей в табачную лавку. Носки туфель были направлены вовнутрь магазина. Еще два шага, и господин скрылся бы за дверью. Но он почему-то задержался, будто нарочно для того, чтобы подставить голову под кирпич, упавший с крыши. Господин даже снял шляпу, обнаружив свой лысый череп, и, таким образом, кирпич ударил господина прямо по голой голове, проломил черепную кость и застрял в мозгу. Господин не упал. Нет, он только пошатнулся от страшного удара, вынул из кармана платок, вытер им лицо, залепленное кровавыми мозгами, и, повернувшись к толпе, которая мгновенно собралась вокруг этого господина, сказал: — Не беспокойтесь, господа: у меня была уже прививка. Вот видите — у меня в правом глазу торчит камушек. Это тоже был однажды случай. Я уже привык к этому. Теперь мне все трын-трава! И с этими словами господин надел шляпу и ушел куда-то в сторону, оставив смущённую толпу в полном недоумении. Кроличек у нас мальчик взрослее, у него уже другие интересы - велик должен быть самый красивый и удобный(нужно перед девочками выпендриться). С физикой у него проблемы, что к чему непонятно, поэтому выдрал только колеса, прилепил их к телеге с десятком других, любовно ее украсил всякими цацками. Педалей, естественно, не оказалось, пришлось самому впрягаться, разумеется, тоже нарядному и с ног до головы в медальках(любовно вырезанных шильдиках о прохождении всяческих тестов),как свадебная лошадь. Бегает, MCУ, по улице с этой торбой и пристает ко всем, но только или он потный и вонючий, или конструкция вызывает подозрение, девченки не садятся. С тех пор MCУ на них смертельно обиделся, дружит только с мальчиками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 10:33 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iДа, все я понял, ЛП, сам такой был, вылизывал милисикунды там,где не нужно, писал ассемблерные вставки и тд. Со временем научишься не только ломать, если не будешь сидеть, как МСУ в резервации с надутыми щеками. Нет, Сев, ты в очередной раз нихера не понял :) Я не занимаюсь оптимизацией. Не вылизываю миллисекунды, не пишу ассемблерных вставок, и прочей херотенью не заморачиваюсь. То, что я делаю - оно оказывает ровно обратный эффект с точки зрения "оптимизации", приложение получается чуть тяжелее, чуть медленнее. Но зато чуть надёжнее. Выражаясь доступным тебе языком - я пытаюсь сделать так, чтобы велосипед не развалился на первой кочке (и на второй не развалился, и на третьей). Если для этого придётся усилить раму - буду усиливать раму. Дополнительными элементами (а вовсе не отрыванием половины наличествующих в комплекте, как ты по недомыслию своему предположил). Ну а чего ж поделать, если имеющийся велосипед разваливается на кочках? Надо приварить трубу - буду приварить трубу, пусть оно и некрасиво. Хотелось бы по-красивее, конечно, но вот что-то в ответ на вопрос "как сделать покрасивее" приходится выслушивать, что дескать ничего делать не надо, британские учёные доказали, что велосипед на кочках не разваливается. А некоторые советчики так вообще три дня бубнят про "пропертю селектора", пытаясь убедить меня в том, что такое поведение (разваливание велосипеда на кочке) зависит от цвета заднего светоотражателя. Читайте дескать документацию к светоотражателю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 10:37 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Еще одно условие для того, чтобы научится усиливать рамы в нужно месте - искать козявки в чужом носу только после того, как собственный вытрешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 10:49 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Шайтан, это по детству золотому было, но даже тогда мне советчики не нужны были. WPF vs Silverlight в корпоративных приложениях ]А тебе и сейчас нужны няньки и подгузники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 12:20 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iШайтан, это по детству золотому было, но даже тогда мне советчики не нужны были. WPF vs Silverlight в корпоративных приложениях ]А тебе и сейчас нужны няньки и подгузники. Научись сначала ссылки оформлять, а потом уже про подгузники вещай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 12:27 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iШайтан, это по детству золотому было, но даже тогда мне советчики не нужны были. WPF vs Silverlight в корпоративных приложениях ]А тебе и сейчас нужны няньки и подгузники. Гыгыг. Китайская мудрость гласит: Спросить - стыд на пять минут. Не знать - стыд на всю жизнь. Вот Шайтан, ежели чего не знает, не стесняется спросить совета. А ты, севка, не знаешь и не понимаешь нихера (вплоть до того, что не понимаешь, чего же именно ты не понимаешь), однако же советы раздаёшь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 12:40 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Мусичка, в следующий раз буду внимательней. Извини за любопытство, так тебя бабушка все еще называет или знакомые мальчишки-шалунишки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 12:43 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПiШайтан, это по детству золотому было, но даже тогда мне советчики не нужны были. WPF vs Silverlight в корпоративных приложениях ]А тебе и сейчас нужны няньки и подгузники. Гыгыг. Китайская мудрость гласит: Спросить - стыд на пять минут. Не знать - стыд на всю жизнь. Вот Шайтан, ежели чего не знает, не стесняется спросить совета. А ты, севка, не знаешь и не понимаешь нихера (вплоть до того, что не понимаешь, чего же именно ты не понимаешь), однако же советы раздаёшь Китайская мудрость гласит: если вам нечего сказать, расскажите китайскую мудрость. Кроличек, обычно, в этом случае вспоминает стену, Шайтан - перестает жевать попкорн, пытается что-то вымучить, но знает только два слова. Ты в хорошей компании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 12:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iесли вам нечего сказать Нечего сказать здесь именно тебе. Ты за весь топик ни слова по делу не произнёс :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 13:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
ЛПiесли вам нечего сказать Нечего сказать здесь именно тебе. Ты за весь топик всё существование на форуме ни слова по делу не произнёс :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 13:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Извините, мальчики, но страшилки я рассказывать не умею, лампочки в коридоре не перегорают, соседи нормальные, барабашки нигде не водятся(сплюнул три раза). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 13:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iИзвините, мальчики, но страшилки я рассказывать не умею, лампочки в коридоре не перегорают, соседи нормальные, барабашки нигде не водятся(сплюнул три раза). Ну так и иди отсюда накуй :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 13:40 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Не зря я тебя с МСУ путал. Даунята все одинаковые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 14:34 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А меня бесит, что нифига не получается украсить grid (data/string) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 20:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
1ten0.0net1А меня бесит, что нифига не получается украсить grid (data/string) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Оно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 06:11 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
А вообще нормально... Какой-то удот решил за всех, что в Silverlight все взаимодействия с сервером должны быть асинхронными, и что с нормальным ShowDialog заморачиваться не имеет смысла. В итоге надо разгадывать очередную головоломку . А то заняться-то больше нечем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 08:47 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Пипец, сколько педалей нужно прикручивать, чтобы заюзать что-ли вменяемое, стандартное по жизни. Вот это я называю гавнотехнологиями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 09:13 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
МСУПипец, сколько педалей нужно прикручивать, чтобы заюзать что-ли вменяемое, стандартное по жизни. Вот это я называю гавнотехнологиями Но это уже камень в огород SL. В WPF с этим всё нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 10:53 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КА вообще нормально... Какой-то удот решил за всех, что в Silverlight все взаимодействия с сервером должны быть асинхронными, и что с нормальным ShowDialog заморачиваться не имеет смысла. В итоге надо разгадывать очередную головоломку . А то заняться-то больше нечем... А разгадать стоит, тк с rx асинхронности уже не замечаешь и больше не нужны муторные dowork'и и callback'и ЗЫ Мусичка такой непостоянный, то авторитетно и заявлял, что "диалоговость" есть, а теперь всех расстроил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 21:46 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iА разгадать стоитНу давай попробуем. Возьмём последовательность диалогов: Код: plaintext 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. Наблюдается та же лесенка из лямбд, которая была бы если бы было бы: Код: plaintext Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2010, 06:01 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КА вообще нормально... Какой-то удот решил за всех, что в Silverlight все взаимодействия с сервером должны быть асинхроннымиТю. Ну есть NPAPI, или как там его, в нем все дело. А даже если б было и не так - какого уйха какой-то плагин должен вешать весь бразуер? Не вижу проблемы в требовании не "морозить" UI поток. Он на то и УИ. Отвыкайте от циклов обработки сообщений в любой жо... и по любому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2010, 11:08 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
удотТю. Ну есть NPAPI, или как там его, в нем все делоЭто чё? удотА даже если б было и не так - какого уйха какой-то плагин должен вешать весь бразуер?Как будто других способов его заморозить нету. Было бы желание. удотНе вижу проблемы в требовании не "морозить" UI поток. Он на то и УИ.Это требование было и есть всегда. Просто в данном случае жестоко навязывается единственный способ решения проблемы. удотОтвыкайте от циклов обработки сообщений в любой жо... и по любому поводу.Расскажи об этом на форуме дельфистов. Будет весело. Да и не в любой жо..., а в библиотечной функции. Чуешь разницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2010, 11:26 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КудотТю. Ну есть NPAPI, или как там его, в нем все делоЭто чё?Это то. Что ограничивает возможности сервелата (как и любого другого платформонезависимого плагина браузера). Будет другой АПИ для плагинов (а давно назревает) - другое дело. Пока имеем то, что имеем. Алексей КудотОтвыкайте от циклов обработки сообщений в любой жо... и по любому поводу.Расскажи об этом на форуме дельфистов. Будет весело. Да и не в любой жо..., а в библиотечной функции. Чуешь разницу?Причем тут какое-то давно дохлое дельфи? Причем тут библ... (живут же люди (c)) библиотеки? Могу сказать точно (закончив недавно типичный data-entry проект на сервелате) - ничего страшного в отсутствии modal-style окон в Сл нет. Еще раз - просто нужно принять, что УИ - это ортогональная данным и их обработке вещь. Между прочим, понимание сего зело продвигает в написании почти кроссплатформенного кода (xaml + cs), насколько это возможно, между wpf и silverlight. А как насчет разделяемой code base между silverlight, wpf и winforms? Оказывается, и это возможно, в разумных пределах, конечно. Ключ - уи - это уи, данные (модель) - это данные. Это разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 00:48 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
удотъЭто то. Что ограничивает возможности сервелата (как и любого другого платформонезависимого плагина браузера). Будет другой АПИ для плагинов (а давно назревает) - другое дело. Пока имеем то, что имеем.Ага. Видел в гугле... удотъМогу сказать точно (закончив недавно типичный data-entry проект на сервелате) - ничего страшного в отсутствии modal-style окон в Сл нет.Вообще отказался от диалогов или на лямбдах всё? удотъЕще раз - просто нужно принять, что УИ - это ортогональная данным и их обработке вещь.Да кто ж спорит. удотъМежду прочим, понимание сего зело продвигает в написании почти кроссплатформенного кода (xaml + cs), насколько это возможно, между wpf и silverlight. А как насчет разделяемой code base между silverlight, wpf и winforms? Оказывается, и это возможно, в разумных пределах, конечно.Если WPF-ные диалоги превратить в Silverlight-ные BeginInvoke-ом - тогда да. удотъКлюч - уи - это уи, данные (модель) - это данные. Это разные вещи.Непонятно, какое это имеет отношение к диалогам, но на всякий случай соглашусь. :-)) ЗЫ: В конце той страницы пример с диалогами. Чё я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 06:32 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КiА разгадать стоитНу давай попробуем. Возьмём последовательность диалогов: Код: plaintext 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. Наблюдается та же лесенка из лямбд, которая была бы если бы было бы: Код: plaintext Что я делаю не так? Все. 1. Скачешь по верхам не изучив толком framework. Rx - Liqn for Event и в нем масса возможностей обойтись без этих дурацких лесенок. 2. Паттерн применяется не к месту. Для любителей задавать много вопросов все реализовано в caliburn. C ним viewmodel должна вернуть только список вопросов, остальное делается на автомате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 07:50 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей К удотОтвыкайте от циклов обработки сообщений в любой жо... и по любому поводу.Расскажи об этом на форуме дельфистов. Будет весело. Да и не в любой жо..., а в библиотечной функции. Чуешь разницу? SL совсем из другой бочки чем Delphi. Давно пора почувствовать разницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 07:54 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iАлексей КЧто я делаю не так? Все. 1. Скачешь по верхам не изучив толком framework. Rx - Liqn for Event и в нем масса возможностей обойтись без этих дурацких лесенок.Ну покажи пример. i2. Паттерн применяется не к месту.Я это подозревал. iДля любителей задавать много вопросов все реализовано в caliburn. C ним viewmodel должна вернуть только список вопросов, остальное делается на автомате.Не понравилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 08:06 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iАлексей К удотОтвыкайте от циклов обработки сообщений в любой жо... и по любому поводу.Расскажи об этом на форуме дельфистов. Будет весело. Да и не в любой жо..., а в библиотечной функции. Чуешь разницу?SL совсем из другой бочки чем Delphi. Давно пора почувствовать разницуДа я уже давно почувствовал. То что в делфи (и прочих WinForms) делается просто и очевидно здесь требует каких-то неимоверных извратов. И все проблемы созданы искуственно, на пустом месте. Накойхер (с) навязывать асинхронность с сервисами. Чё я сам что ли не догадаюсь запустить операцию через пул потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 08:10 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КiАлексей К удотОтвыкайте от циклов обработки сообщений в любой жо... и по любому поводу.Расскажи об этом на форуме дельфистов. Будет весело. Да и не в любой жо..., а в библиотечной функции. Чуешь разницу?SL совсем из другой бочки чем Delphi. Давно пора почувствовать разницуДа я уже давно почувствовал. То что в делфи (и прочих WinForms) делается просто и очевидно здесь требует каких-то неимоверных извратов. И все проблемы созданы искуственно, на пустом месте. Накойхер (с) навязывать асинхронность с сервисами. Чё я сам что ли не догадаюсь запустить операцию через пул потоков. А мне не нужны пляски с бубнами в виде пула потоков. По мне, так совершенно правильно сделали. Очень к месту асинхронная проверка при вводе данных в форму и тд Жванецкий Запах чем хорош: не нравится - отойди, не нюхай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 08:30 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
Алексей КiНу покажи пример. Мда. Как всегда эпический Севка игнорирует практику... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 09:12 |
|
||
|
Топик ненависти к WPF
|
|||
|---|---|---|---|
|
#18+
iА мне не нужны пляски с бубнами в виде пула потоков. По мне, так совершенно правильно сделали. Очень к месту асинхронная проверка при вводе данных в форму и тдДа я не против, просто мне не нравится, что навязывается единственное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 10:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=21&tid=1442748]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
174ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 492ms |

| 0 / 0 |
