Список функций WPF, которых нет в Silverlight 3
-
05-07-2019 - |
Вопрос
Распространенным техническим решением в настоящее время является создание клиентского приложения ClickOnce rich или веб-приложения.
Здесь я фокусируюсь в первую очередь на выборе между приложением WPF или Silverlight.
Главное преимущество Silverlight очевидно - его можно разместить в браузере.
Но если бы программист, привыкший к WPF, начал программировать в Silverlight, что бы он / она вдруг обнаружил, что это невозможно или намного сложнее?
Элементы могут быть следующими:
- Ты просто не можешь этого сделать, и точка
- Вы можете это сделать, но только отчасти, с множеством оговорок
- Ты можешь это сделать, но это намного больше обручи, через которые нужно перепрыгнуть
Примеры, на которые я наткнулся до сих пор:
- Доступ к буферу обмена.Вы можете только вроде как сделать это, при условии, что вы ограничены Internet Explorer и пишете только необработанный текст
- Использование Команд - Возможно, но с большим количеством дополнительной работы
- Контекстные меню - Возможно, но с большим количеством дополнительной работы
Какие другие?
Решение
Программные различия между Silverlight и WPF, Технический документ компании Wintellect, LLC:
http://wpfslguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28278
69 Страниц, охватывает почти все.
Другие советы
Междоменные ограничения - Silverlight может получать доступ только к сайтам, которые разрешают это через crossdomain.xml или clientaccesspolicy.xml.
Например, Silverlight не может напрямую взаимодействовать с API Twitter или RSS-каналами StackOverflow.
Я ответил на очень похожий вопрос несколько дней назад, здесь:
WPF против XBAP против Silverlight...что подходит для бизнес-приложений?
Некоторые из наиболее заметных - вы не можете открыть новое окно, невозможно поместить приложение в область уведомлений и отсутствует поддержка управления колесом мыши (не уверен, есть ли она в WPF).Некоторые вещи тоже сложнее программировать.
"... и нет поддержки колеса мыши (не уверен, есть ли в WPF) ...".
Есть поддержка колесика мыши, но не так просто, как в WPF.Вы должны прослушать событие MouseWheel и самостоятельно вычислить смещение прокрутки.
Другое отличие заключается в том, что у вас нет привязки к предку в Silverlight.
Видишь: Совместимость Silverlight с WPF (MSDN) и Контрастный Silverlight и WPF (Шаблоны и практики)