Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, dimzon, Вы писали:
D>>Собственно сабж в теме. Есть такая мысль что WPF практически похоронил данный проект. Интересно мнение автора.
CS>Не люблю я сравнения солнца и луны — и то и то в небе, но собственно это и все что у них общего. Ну да ладно.
CS>К слову сказать была такая мулечка что WPF это могильщик HTML и CSS. Но пока не видно. На динамику создания новых сайтов WPF не оказал никакого влияния. Я не заметил каких бы то ни было изменений в динамике продаж htmlayout с выходом WPF. Скорее наоборот — больше стало продаваться но это отдельная история.
Ну WPF-сайты это отдельная история. я всё-таки говорю о WPF-приложениях.
CS>WPF по своему масштабу это имплементация некоего глобального принципа.
Да! Причём XAML это лишь часть WPF. WPF по своей сути это что-то вроде сверхнавороченного Swing-а а XAML это просто некоторый формат для сериализации/десериализации (причём ПРОИЗВОЛЬНЫХ объектов)
CS>htmlayout, он проще — просто встраиваемый html/css движок. Не больше и не меньше. Может использоваться за для показать фрагмент HTML где-то так и для полного skinned UI.
CS>Стили... у XAML'а своя собственная и просто другая, несравнимая с CSS система стилей.
CS>Это вот:
CS>CS><Style x:Key="ButtonStyle">
CS> <Setter Property="Button.Background" Value="BlueViolet" />
CS> <Setter Property="Button.FontSize" Value="20" />
CS> <Setter Property="Button.Width" Value="200" />
CS> <Setter Property="Button.Height" Value="30" />
CS></Style>
CS>
CS>ну просто далеко не
CS>CS>.ButtonStyle
CS>{
CS> background:BlueViolet;
CS> font-size:20px;
CS> width:200px;
CS> height:200px;
CS>}
CS>
CS>Понятия какскадинга у <Style> нет в принципе. Есть наследование но это абсолютно не то. В XAML single inheritance, а в CSS очень гибкая система multiple, selector based inheritance. В htmlayout еще больше — там есть style sets которые делают inheritance груп стилей для поддеревьев DOM.
CS>Ну короче WPF::Style и CSS::style это небо и земля. CSS::style это мощная и гибкая коцепция. WPF::Style это просто ассоциативная таблица именнованных свойств (которую еще больше губит XML формат).
CS>CS><Style TargetType="{x:Type Control}>
CS>
CS>Это далеко не CSS селектор. Причем очень далеко не. Triggers перекрывают только CSS pseudo classes. Но и только.
CS>Скажем вот такую вот простую конструкцию
CS>CS> select > option:current { background:threedface; color: windowtext; }
CS> select:focus > option:current { background:highlight; color: highlighttext; }
CS>
CS>Я не знаю как воспроизвести в XAML. Буду признателен если мне знатоки покажут как.
Ну конкретно для этого примера. Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.
У ItemControl есть 2 свойства — Style и ItemStyle — вот они эти стили. Причём свойство ItemStyle можно установить ИЗ свойства Style (через стиль можно установить практически ЛЮБОЕ свойство в отличии от HTML). А
:focus и
:current разруливаются триггерами. Я ответил на ваш вопрос?
CS>Ну и напоследок.
CS>WPF это managed code. Т.е. не везде, не для всего и не на всех Windows версиях работает. htmlayout это native code, может работать как в managed средах .NET и Java (кстати) так и в сугубо нативных приложениях.
ИМХО наступает время managed code!