У меня была аналогичная проблема, и выяснилось, что вся проблема такого характера может быть решена следующим образом:
, и таким образом вы сможете стилизовать свои текущие предыдущие элементы (все элементы переопределены текущими и следующими элементами) и ваши следующие элементы.
пример:
/* all items (will be styled as previous) */
li {
color: blue;
}
/* the item i want to distinguish */
li.milk {
color: red;
}
/* next items */
li ~ li {
color: green;
}
<ul>
<li>Tea</li>
<li class="milk">Milk</li>
<li>Juice</li>
<li>others</li>
</ul>
Надеюсь, что это кому-то поможет.
Самым большим различием, которое я нахожу, является асинхронная модель, которую необходимо принять в приложении Silverlight. Это делает походит на преимущество (и это может быть), но это действительно делает жизнь очень трудной иногда.
существуют также некоторые ограничения, которые могут быть реальной проблемой как отсутствие поддержки печати.
я рекомендовал бы Silverlight по WPF когда:
- нет никакой потребности в самой лучшей производительности (включенная графика) - Может обойти отсутствие поддержки печати (это прибудет, мы просто не знаем, когда) - поддержка Камеры/Микрофона не нужна - Может терпеть асинхронную модель приложения/разработки - Может терпеть ограничения на WCF (никакая поддержка безопасности WS в этой точке) - нет никакой потребности сохранить огромный объем данных по клиенту. - Нет никакой потребности к прямой интеграции с клиентскими приложениями как Office. - Имеет сервер для хостинга приложенияЯ сказал бы, что основное различие - то, что WPF требует, чтобы у клиента было.Net 3.0 + платформа. Silverlight только требует времени выполнения. Теперь, когда быть сказанным, WPF приспособлен больше для управляемых сред, таких как интранет. Silverlight предназначена для государственной сети. Другое различие - то, что Silverlight является кросс-платформенной (Windows, Mac, Linux в будущем & Перекрестный браузер). WPF предназначен для Windows только.
платформа .NET может быть огромной загрузкой для некоторых пользователей. Silverlight только 4-5MBs. Это - большая разница для запущения приложения в сети, но не большой проблемы если внутреннее приложение в компании.
Silverlight Поигралась в песочнице, который предназначен для веб-использования. Таким образом, если Ваше приложение потребует большего количества полномочий, то Вам будет нужен WPF.
существуют также некоторые различия между кодом Silverlight и WPF. Но от того, что я услышал, конечная цель должна заставить Silverlight работать в WPF с минимальными изменениями кода. Но они просто еще не там.
Я только что работал над проектом WPF, что задним числом мы чувствуем, что, возможно, выбрали SilverLight для. Вероятно, более важно знать различия и выбрать то, которое наиболее подходит для того, что Вы делаете.
Вот мой начинающий для десять на некоторых важных различиях - были первоначально некоторые различия в доступных элементах управления, но это было в основном сглажено теперь.
Выполнения Silverlight
, WPF
Silverlight является в основном разделенным вниз версия WPF для создания времени выполнения libary загрузкой как можно меньше.
В результате WPF просто имеет намного больше функциональности, доступной в нем и задач, которые просты в WPF, часто становятся не настолько простыми в Silverlight.
При выполнении, поскольку веб-приложение не является требованием тогда, решение является легкой задачей - WPF полностью.
Стоит отметить, что 3D Silverlight не является полной 3D поддержкой WPF, но только проекцией 2D в 3D - т.е. сядьте на 2D плоскость и позвольте вращение в X, Y & Z направления. WPF имеет полное 3D моделирование с материалами, портами представления, освещением и камерой позиционная поддержка и т.д.
Я хорошо приезжаю в разработке нашего первого приложения WPF для выпуска. Silverlight 3 выглядит большим, но для этого приложения я все еще выбрал бы WPF. Приложение центрируется вокруг представления и управления очень большими наборами изображений, размещенных на центральном сервере в сетях наших клиентов. Кроме того, обновление программного обеспечения / уровень изменения будет минимально. Массовый импорт новых изображений от локального диска, никаких требований интернет-соединения, проблем производительности, и т.д. делает это проектом хорошо удовлетворенный для WPF.
Один из наших предстоящих проектов, однако, потребует, чтобы многие удаленные пользователи получили доступ к единственному хранилищу данных в нашей сети. Данные, с которыми они работают, требуют значительной проверки, и обработка ошибок, таким образом выполняя тот код локально идеальна. Им будет нужна способность работать и над и офлайн и остаться в синхронизации (вероятно, с Услугами передачи данных SQL). SLOOB (Silverlight Из Браузера), скорее всего, будет нашим выбором для тот одного, таким образом, они смогут иметь все преимущества Silverlight, но использовать его как регулярно устанавливаемое приложение, даже без Интернет-соединения.
Оба формата имеют свое место: прием должен будет избегать использования Silverlight для всего - у нас есть больше инструментов, чем всего 1 молоток.:-)
Другое различие - то, что с SL у Вас только есть одно 'окно', у Вас не может быть диалоговых окон (они могут быть моделированы, но их размер ограничен главным окном), и Вы не можете добавить много поддержку монитора.
, Если необходимо взаимодействовать с существующими бизнес-приложениями (например, открыть документ в средстве просмотра архива) необходимо использовать WPF.
Я недавно создал несколько внутренних инструментов с помощью wpf, и я выбрал их просто, потому что Это было легче для меня прибывающий из работы win32. Я действительно не думаю, что различия являются существенными, и действительно... все, что я видел/слышал, указывает, что портирование между wpf и Silverlight довольно легко.
устройство хранения данных : у Вас только есть 25 МБ изолированного устройства хранения данных из браузера. Если я помню правильно от некоторого mix09 видео, этот предел ниже, если Ваше приложение в браузере.
http://bliny.net/blog/post/Out-of-Browser-with-Silverlight-3.aspx
Никакой FlowDocument: Таким образом, существуют ограничения там также.