Re[3]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.07 17:07
Оценка: +1
Здравствуйте, aloch, Вы писали:

A>Маркетологчсеки.

A>Очень хочется HTMLayout для .Net (2.0) — т.е. без Native C++. Если этого не будет, то WPF — победит (когда не будет W2k/win9x)

А вы не боитесь использовать класс FileStream, а то он к native filesystem driver обращается, который небось аж на Си написан?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.07 17:09
Оценка:
Здравствуйте, dimzon, Вы писали:

D>Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.


Тут суть в том, что CSS поддерживает любые сочетания, а не только заранее предопределённые.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[4]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 19.12.07 17:40
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, dimzon, Вы писали:


D>>Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.


A>Тут суть в том, что CSS поддерживает любые сочетания, а не только заранее предопределённые.


Суть в том что CSS тоже далеко не любые поддерживает. По существу с примером из жизни возразить можете?
Re[5]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.07 17:49
Оценка:
Здравствуйте, dimzon, Вы писали:

D>Суть в том что CSS тоже далеко не любые поддерживает. По существу с примером из жизни возразить можете?


Да запросто: 'div > span[id~='45'] > h1:nth-child(5n+4) b' что означает

все <b> являющиеся прямыми или косвенными детьми h1 среди
всех <h1> являющихся прямыми детьми с индексом, дающим при делении на пять четыре, span, с атрибутом id содержащим разделённые пробелами значения одно из которых '45' среди
всех div

Покажи мне это в WPF.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: WPF vs HtmlLayout
От: c-smile Канада http://terrainformatica.com
Дата: 19.12.07 18:44
Оценка:
Здравствуйте, dimzon, Вы писали:

CS>>WPF по своему масштабу это имплементация некоего глобального принципа.

D>Да! Причём XAML это лишь часть WPF. WPF по своей сути это что-то вроде сверхнавороченного Swing-а а XAML это просто некоторый формат для сериализации/десериализации (причём ПРОИЗВОЛЬНЫХ объектов)

Да ты наверное прав, WPF это такой Swing.
Тогда тем более почему он "могильщик" htmlayout?

CS>>Скажем вот такую вот простую конструкцию


CS>>
CS>>  select > option:current { background:threedface; color: windowtext; }
CS>>  select:focus > option:current { background:highlight; color: highlighttext; }
CS>>

CS>>Я не знаю как воспроизвести в XAML. Буду признателен если мне знатоки покажут как.
D>Ну конкретно для этого примера. Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.
D>У ItemControl есть 2 свойства — Style и ItemStyle — вот они эти стили. Причём свойство ItemStyle можно установить ИЗ свойства Style (через стиль можно установить практически ЛЮБОЕ свойство в отличии от HTML). А :focus и :current разруливаются триггерами. Я ответил на ваш вопрос?

Нет, ты не ответил на вопрос.

Как описать на XAML "если select в фокусе то его непосредственный child-option в состоянии current имеет стиль B".
Подозреваю что никак. В общем это риторический вопрос.

XAML он для редактирвания в WYSIWYG средах разработки сделан (Microsoft® Expression®).
Отсюда его специфика — только простые и плоские конструкции. Это фактически inline styles в html/css, во всяком случае изначально.

CS>>Ну и напоследок.


CS>>WPF это managed code. Т.е. не везде, не для всего и не на всех Windows версиях работает. htmlayout это native code, может работать как в managed средах .NET и Java (кстати) так и в сугубо нативных приложениях.


D>ИМХО наступает время managed code!

Тебя обманули. WPF core это native code. Про Vista говорили тоже что она вся managed будет.
И вообще про "наступает время managed code" — в "священные войны".
Re[3]: WPF vs HtmlLayout
От: c-smile Канада http://terrainformatica.com
Дата: 19.12.07 18:52
Оценка: 1 (1) +2
Здравствуйте, aloch, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


A>Маркетологчсеки.


A>Очень хочется HTMLayout для .Net (2.0) — т.е. без Native C++. Если этого не будет, то WPF — победит (когда не будет W2k/win9x)


Еще раз. WPF core (например XAML renderer) написан в native code.
htmlayout это в принципе renderer того же уровня — просто другой входной язык и структура DOM.

Говорить "хочу все managed" это безграмотно технически.
"Хочу все компоненты в технологиях оптимальных для их исполнения" — это уже ближе к теме.
Re[4]: WPF vs HtmlLayout
От: aloch Россия  
Дата: 20.12.07 10:42
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, aloch, Вы писали:


A>>Здравствуйте, c-smile, Вы писали:


A>>Маркетологчсеки.


A>>Очень хочется HTMLayout для .Net (2.0) — т.е. без Native C++. Если этого не будет, то WPF — победит (когда не будет W2k/win9x)


CS>Еще раз. WPF core (например XAML renderer) написан в native code.

CS>htmlayout это в принципе renderer того же уровня — просто другой входной язык и структура DOM.

Меня наверное не совсем поняли. Под "без Native C++" я имел в виду, "без использования Native C++ для прикручивания HTMLayout к приложению", т.е. сейчас загрузив SDK с сайта terrainformatica.com я не могу сразу использовать HTMLayout в приложении, написанном на C#/VB.Net. Я знаю, что есть обертки (NABU Library) от сторонних поставщиков. Но:


> Почему в компоненте HtmlView не работают некоторые behavior'ы, которые 
> есть в HTMLayout? Например, expandable-list, collapsible-list. Нельзя 
> ли делегировать эти behavior'ы самой htmlayout.dll ? 


Не работают, потому что их нет в HTMLayout. Они распространяются в 
виде Си++ кода (файлы расположены в папке \include\behaviors\), 
который должен быть подключён к проекту. К .Net проекту его, 
естественно, подключить нельзя. 

На данный момент в обёртке есть аналоги для 
behavior_accesskeys.cpp 
behavior_collapsible_by_icon.cpp 
behavior_hyperlink.cpp 
behavior_tabs.cpp


Это как раз о том "Native C++", о котором я говорил.


Re[4]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 20.12.07 12:12
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, dimzon, Вы писали:


CS>>>WPF по своему масштабу это имплементация некоего глобального принципа.

D>>Да! Причём XAML это лишь часть WPF. WPF по своей сути это что-то вроде сверхнавороченного Swing-а а XAML это просто некоторый формат для сериализации/десериализации (причём ПРОИЗВОЛЬНЫХ объектов)

CS>Да ты наверное прав, WPF это такой Swing.

CS>Тогда тем более почему он "могильщик" htmlayout?
Потому что одной из его фич является возможность декларативного задания UI. Именно эта фича — причина использования HtmlLayout в 80% случаев. разве нет.


CS>>>Скажем вот такую вот простую конструкцию


CS>>>
CS>>>  select > option:current { background:threedface; color: windowtext; }
CS>>>  select:focus > option:current { background:highlight; color: highlighttext; }
CS>>>

CS>>>Я не знаю как воспроизвести в XAML. Буду признателен если мне знатоки покажут как.
D>>Ну конкретно для этого примера. Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.
D>>У ItemControl есть 2 свойства — Style и ItemStyle — вот они эти стили. Причём свойство ItemStyle можно установить ИЗ свойства Style (через стиль можно установить практически ЛЮБОЕ свойство в отличии от HTML). А :focus и :current разруливаются триггерами. Я ответил на ваш вопрос?

CS>Нет, ты не ответил на вопрос.


CS>Как описать на XAML "если select в фокусе то его непосредственный child-option в состоянии current имеет стиль B".

CS>Подозреваю что никак. В общем это риторический вопрос.
повторяю ещё раз — в WPF нету элемента SELECT поэтому никак если говорить про ItemControl то надо объявить 2 стиля:
1) стиль для элемента (внутреннего элемента) когда ItemControl в фокусе. через тригера разрулить отмеченный/не отмеченный
2) стиль для самого ItemControl-а в котором с помощью триггера при установке свойства Focused устанавливать значение ItemStyle в стиль, определённый в 1)

Теперь понятно???

CS>XAML он для редактирвания в WYSIWYG средах разработки сделан (Microsoft® Expression®).

CS>Отсюда его специфика — только простые и плоские конструкции. Это фактически inline styles в html/css, во всяком случае изначально.
Не совсем. Повтрюсь — XAML это по большому счёту формат сериализации данных. Он десериализируется XAMLReader-ом и в результате имеем готовое дерево. Добавляем новый класс (непример потомок контрола) в код, используем тег в XAML и наш класс точно так-же поднимется в дереве равно как и стандартные.

CS>>>Ну и напоследок.

CS>>>WPF это managed code. Т.е. не везде, не для всего и не на всех Windows версиях работает. htmlayout это native code, может работать как в managed средах .NET и Java (кстати) так и в сугубо нативных приложениях.
D>>ИМХО наступает время managed code!
CS>Тебя обманули. WPF core это native code. Про Vista говорили тоже что она вся managed будет.
Не совсем. Там очень маленький фрагмент для оптимизации + при установке для оптимизации происходит обработка через ngen всех managed-сборок.

CS>И вообще про "наступает время managed code" — в "священные войны".

Насчёт войн — спорить не буду но рекомендую посмотреть статистику по СЕРЬЁЗНЫМ проектам уровня предприятия. Все сервера приложений — 90% либо J2EE либо .NET. Бизнес-код в основном пишут на Managed. Тот же самый 1С — там тоже Managed.
Re[6]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 20.12.07 14:49
Оценка: -1 :)
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, dimzon, Вы писали:


D>>Суть в том что CSS тоже далеко не любые поддерживает. По существу с примером из жизни возразить можете?


A>Да запросто: 'div > span[id~='45'] > h1:nth-child(5n+4) b' что означает


A>все <b> являющиеся прямыми или косвенными детьми h1 среди

A>всех <h1> являющихся прямыми детьми с индексом, дающим при делении на пять четыре, span, с атрибутом id содержащим разделённые пробелами значения одно из которых '45' среди
A>всех div

A>Покажи мне это в WPF.


Это не ЖИЗНЕННЫЙ и сугубо синтетический пример. Покажи мне его use-case в первую очередь.
Re[5]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 20.12.07 17:41
Оценка:
Здравствуйте, aloch, Вы писали:

A>Это как раз о том "Native C++", о котором я говорил.


Как автор NABU Library могу сказать следующее. Библиотека поддерживает написание behavior на чистом .Net. То есть при желании, владея C#/VB.Net можно прикрутить всё что угодно.
Полезные behaviors на C# написанные не мной включаются в библиотеку без особой волокиты, есть прецеденты. То есть я, конечно,н е отрицаю что часть функциональности из SDK отсутствует, но вот чтобы её восполнить Си++ не нужен совсем. Нужен С# и некоторое желание.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[7]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 20.12.07 18:19
Оценка:
Здравствуйте, dimzon, Вы писали:

A>>Да запросто: 'div > span[id~='45'] > h1:nth-child(5n+4) b' что означает


A>>все <b> являющиеся прямыми или косвенными детьми h1 среди

A>>всех <h1> являющихся прямыми детьми с индексом, дающим при делении на пять четыре, span, с атрибутом id содержащим разделённые пробелами значения одно из которых '45' среди
A>>всех div

A>>Покажи мне это в WPF.


D>Это не ЖИЗНЕННЫЙ и сугубо синтетический пример. Покажи мне его use-case в первую очередь.


А это уже прыжок в сторону use-case могу привести без проблем. Скажем у меня есть таблица (a.k.a. GridView) в которой пользователи. В HTML таблица одна, но считай стили построены так как будто таблиц много разных.
<html>
    <head>
        <style>
            table[id='users']
            {
                background-color: azure;
            }
            
            table[id='users'] > tr > td
            {
                padding: 0.5em;
                border: solid 2px blue;
            }
            
            table[id='users'] > tr > td:nth-child(1)
            {
                padding: 0px;
            }
            
            table[id='users'] > tr[access-rights~='write'] > td
            {
                border: solid 2px red;
            }
            
            table[id='users'] > tr[access-rights~='backup'] > td
            {
                border: solid 2px orange;
            }
            
            table[id='users'] > tr[access-rights~='write'] > td:nth-child(1) > div
            {
                foreground-image: url(http://www.rsdn.ru/images/tree/frs.gif);
                width: 32px;
                height: 16px;
            }
            
        </style>
    </head>
    <body>
        <table id='users'>
            <tr access-rights='read write'>
                <td><div></div></td><td>Admin</td><td>System Administrator</td>
            </tr>
            <tr access-rights='read'>
                <td><div></div></td><td>User</td><td>User</td>
            </tr>
            <tr access-rights='read backup'>
                <td><div></div></td><td>Backup Operator</td><td>Backup operator</td>
            </tr>
        </table>
    </body>
</html>

А если я ещё хочу её при печати по-другому раскрасить... то мне поможет такая фича CSS как @media. Пишу
@media print
{
}

и указываю внутри альтернативные стили. Могу создавать произвольные новые media и указывать их имена, скажем могу сделать @media hi-contrast и переключать рендеринг без перезагрузки HTML.
Вообще много чего могу...
Могу указывать @media russian и
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: WPF vs HtmlLayout
От: c-smile Канада http://terrainformatica.com
Дата: 20.12.07 19:23
Оценка:
Здравствуйте, dimzon, Вы писали:

CS>>Да ты наверное прав, WPF это такой Swing.

CS>>Тогда тем более почему он "могильщик" htmlayout?
D>Потому что одной из его фич является возможность декларативного задания UI. Именно эта фича — причина использования HtmlLayout в 80% случаев. разве нет.

"декларативный UI" это одна из фич. Для кого-то основная для кого-то нет.
Я знаю что одна уважаемая фирма например активно совмещает декларативность с динамической генерацией UI — нечто типа внутреннего CGI.

CS>>Как описать на XAML "если select в фокусе то его непосредственный child-option в состоянии current имеет стиль B".

CS>>Подозреваю что никак. В общем это риторический вопрос.
D>повторяю ещё раз — в WPF нету элемента SELECT поэтому никак если говорить про ItemControl то надо объявить 2 стиля:
D>1) стиль для элемента (внутреннего элемента) когда ItemControl в фокусе. через тригера разрулить отмеченный/не отмеченный
D>2) стиль для самого ItemControl-а в котором с помощью триггера при установке свойства Focused устанавливать значение ItemStyle в стиль, определённый в 1)

D>Теперь понятно???


Нет не понятно.

Нет там select но есть listbox. Вот для него и его items можешь привести пример на XAML?
Если не получится для listbox то для любого другого элемента, т.е.

как в XAML стилях и тригерах выглядит следующее:
"если элемент X в фокусе то его непосредственный child типа Y в состоянии current имеет стиль S"

CS>>И вообще про "наступает время managed code" — в "священные войны".

D>Насчёт войн — спорить не буду но рекомендую посмотреть статистику по СЕРЬЁЗНЫМ проектам уровня предприятия. Все сервера приложений — 90% либо J2EE либо .NET. Бизнес-код в основном пишут на Managed. Тот же самый 1С — там тоже Managed.

Всегда готов! Давай ссылку на статистику.
Re[5]: WPF vs HtmlLayout
От: adontz Грузия http://adontz.wordpress.com/
Дата: 20.12.07 19:28
Оценка:
Здравствуйте, dimzon, Вы писали:

D> Тот же самый 1С — там тоже Managed.


Это бред и дезинформация! Никакого .Net атм нет! Там Си++ и СОМ!!!!
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[6]: WPF vs HtmlLayout
От: c-smile Канада http://terrainformatica.com
Дата: 20.12.07 22:22
Оценка: 6 (1) +2
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, aloch, Вы писали:


A>>Это как раз о том "Native C++", о котором я говорил.


A>Как автор NABU Library могу сказать следующее. Библиотека поддерживает написание behavior на чистом .Net. То есть при желании, владея C#/VB.Net можно прикрутить всё что угодно.

A>Полезные behaviors на C# написанные не мной включаются в библиотеку без особой волокиты, есть прецеденты. То есть я, конечно,н е отрицаю что часть функциональности из SDK отсутствует, но вот чтобы её восполнить Си++ не нужен совсем. Нужен С# и некоторое желание.

Роман, может имеет смысл завернуть все behaviors в отдельную native dll c внешней функцией CreateBehavior() и звать ея из managed в HLN_ATTACH_BEHAVIOR?
Re[6]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 21.12.07 12:32
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, dimzon, Вы писали:


D>> Тот же самый 1С — там тоже Managed.


A>Это бред и дезинформация! Никакого .Net атм нет! Там Си++ и СОМ!!!!


Уважаемый, вы не совсем правы. Я имел ввиду что прикладной код, разрабатываемый прикладными программистами компилируется в байт-код и исполняется виртуальной машиной. Да, это ну Java-байткод и не MSIL, но тем не менее это байткод и виртуальная машина. Для простоты я называю сочетание "байткод + VM" — managed, по сути то одно и то-же
Ну и вспоминаем всякие PHP, Perl и.т.п. Там вроде тоже идёт речь о переводе новых версий на VM

В таком ключе со мной согласны что managed наступает по всем фронтам?
Re[6]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 21.12.07 13:06
Оценка: :)
Здравствуйте, c-smile, Вы писали:

CS>Нет там select но есть listbox. Вот для него и его items можешь привести пример на XAML?

CS>Если не получится для listbox то для любого другого элемента, т.е.

CS>как в XAML стилях и тригерах выглядит следующее:

CS>"если элемент X в фокусе то его непосредственный child типа Y в состоянии current имеет стиль S"

Ну например вот. Значение ItemContainerStyle при желании можно присваивать через Style ListBox-а

<Window 
    SizeToContent="WidthAndHeight" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
  <StackPanel>
        <ListBox>
            <ListBox.ItemContainerStyle>
                <Style>
                    <Style.Triggers>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="Selector.IsSelected">
                                    <Condition.Value>
                                        <sys:Boolean>True</sys:Boolean>
                                    </Condition.Value>
                                </Condition>
                                <Condition Property="Selector.IsSelectionActive">
                                    <Condition.Value>
                                        <sys:Boolean>True</sys:Boolean>
                                    </Condition.Value>
                                </Condition>
                            </MultiTrigger.Conditions>
                            <Setter Property="Control.FontSize" Value="50" />
                        </MultiTrigger>
                    </Style.Triggers>
                </Style>
            </ListBox.ItemContainerStyle>
            <ListBoxItem>foo1</ListBoxItem>
            <ListBoxItem>bar1</ListBoxItem>
            <ListBoxItem>foo2</ListBoxItem>
            <ListBoxItem>bar2</ListBoxItem>
        </ListBox>
        <Button>Some Button</Button>
    </StackPanel>
</Window>
Re[7]: WPF vs HtmlLayout
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 21.12.07 13:29
Оценка:
Здравствуйте, dimzon, Вы писали:

CS>>как в XAML стилях и тригерах выглядит следующее:

CS>>"если элемент X в фокусе то его непосредственный child типа Y в состоянии current имеет стиль S"

HTMLayout
X:focus > Y:current 
{ 
    Style 
}


D>
D><Window 
D>    SizeToContent="WidthAndHeight" 
D>    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
D>    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
D>    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
D>  <StackPanel>
D>        <ListBox>
D>            <ListBox.ItemContainerStyle>
D>                <Style>
D>                    <Style.Triggers>
D>                        <MultiTrigger>
D>                            <MultiTrigger.Conditions>
D>                                <Condition Property="Selector.IsSelected">
D>                                    <Condition.Value>
D>                                        <sys:Boolean>True</sys:Boolean>
D>                                    </Condition.Value>
D>                                </Condition>
D>                                <Condition Property="Selector.IsSelectionActive">
D>                                    <Condition.Value>
D>                                        <sys:Boolean>True</sys:Boolean>
D>                                    </Condition.Value>
D>                                </Condition>
D>                            </MultiTrigger.Conditions>
D>                            <Setter Property="Control.FontSize" Value="50" />
D>                        </MultiTrigger>
D>                    </Style.Triggers>
D>                </Style>
D>            </ListBox.ItemContainerStyle>
D>            <ListBoxItem>foo1</ListBoxItem>
D>            <ListBoxItem>bar1</ListBoxItem>
D>            <ListBoxItem>foo2</ListBoxItem>
D>            <ListBoxItem>bar2</ListBoxItem>
D>        </ListBox>
D>        <Button>Some Button</Button>
D>    </StackPanel>
D></Window>
D>


Мама, роди меня обратно...
Если стили задаются такими чудовищными костылями, WPF совсем не могильщик HTMLayout. А вот наоборот, вполне может быть
Хорошо там, где мы есть! :)
Re[8]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 21.12.07 13:45
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, dimzon, Вы писали:



A>А это уже прыжок в сторону use-case могу привести без проблем. Скажем у меня есть таблица (a.k.a. GridView) в которой пользователи. В HTML таблица одна, но считай стили построены так как будто таблиц много разных.

A>
A><html>
A>    <head>
A>        <style>
A>            table[id='users']
A>            {
A>                background-color: azure;
A>            }
            
A>            table[id='users'] > tr > td
A>            {
A>                padding: 0.5em;
A>                border: solid 2px blue;
A>            }
            
A>            table[id='users'] > tr > td:nth-child(1)
A>            {
A>                padding: 0px;
A>            }
            
A>            table[id='users'] > tr[access-rights~='write'] > td
A>            {
A>                border: solid 2px red;
A>            }
            
A>            table[id='users'] > tr[access-rights~='backup'] > td
A>            {
A>                border: solid 2px orange;
A>            }
            
A>            table[id='users'] > tr[access-rights~='write'] > td:nth-child(1) > div
A>            {
A>                foreground-image: url(http://www.rsdn.ru/images/tree/frs.gif);
A>                width: 32px;
A>                height: 16px;
A>            }
            
A>        </style>
A>    </head>
A>    <body>
A>        <table id='users'>
A>            <tr access-rights='read write'>
A>                <td><div></div></td><td>Admin</td><td>System Administrator</td>
A>            </tr>
A>            <tr access-rights='read'>
A>                <td><div></div></td><td>User</td><td>User</td>
A>            </tr>
A>            <tr access-rights='read backup'>
A>                <td><div></div></td><td>Backup Operator</td><td>Backup operator</td>
A>            </tr>
A>        </table>
A>    </body>
A></html>
A>

Ок, понял, всё решается через стили и темплейты с тригерами. Единственное что необходимо это для обработки конструкции ~= придётся написать свою реализацию IConverter.


A>А если я ещё хочу её при печати по-другому раскрасить... то мне поможет такая фича CSS как @media. Пишу

A>
A>@media print
A>{
A>}
A>

A>и указываю внутри альтернативные стили. Могу создавать произвольные новые media и указывать их имена, скажем могу сделать @media hi-contrast и переключать рендеринг без перезагрузки HTML.
A>Вообще много чего могу...
Всё это решается через динамические ресурсы и/или Binding
Re[9]: WPF vs HtmlLayout
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 21.12.07 13:57
Оценка:
Здравствуйте, dimzon, Вы писали:

[]

D>Ок, понял, всё решается через стили и темплейты с тригерами. Единственное что необходимо это для обработки конструкции ~= придётся написать свою реализацию IConverter.


Ага, а для еще каких-нибудь конструкций "придется написать свою реализацию IXXX" Мсье, как вижу, знает и понимает толк в извращениях


A>>А если я ещё хочу её при печати по-другому раскрасить... то мне поможет такая фича CSS как @media. Пишу

A>>
A>>@media print
A>>{
A>>}
A>>

A>>и указываю внутри альтернативные стили. Могу создавать произвольные новые media и указывать их имена, скажем могу сделать @media hi-contrast и переключать рендеринг без перезагрузки HTML.
A>>Вообще много чего могу...

D>Всё это решается через динамические ресурсы и/или Binding


Угу, на свете вообще все решается. Только кое-что решается через пляски с бубнами Вместо того, чтобы юзать нормальный HTMLayout, вы упорно указываете на какую-то полусырую каку, уж извините. А когда вам приводят примеры того, с чем кака справиться не может — быстренько отваливаете в сторону

З.Ы. Вот только не надо кричать, что "кака с этим не справляется, потому что это концептуально неправильно" и пр. Deal?
<< Рабство не отменено — оно сменилось 8-часовым рабочим днем. >>
Re[7]: WPF vs HtmlLayout
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 21.12.07 14:02
Оценка: :)
Здравствуйте, dimzon, Вы писали:

CS>>как в XAML стилях и тригерах выглядит следующее:

CS>>"если элемент X в фокусе то его непосредственный child типа Y в состоянии current имеет стиль S"

D>Ну например вот. Значение ItemContainerStyle при желании можно присваивать через Style ListBox-а


[код поскипан]



Вах, мля! Нет, не так. ВАХ, МЛЯЯЯЯ! Это что вообще было? Страшное у@$ище лесное сами_знаете_что — вот что это было. Вполне в духе одной уважаемой фирмы — решать простые задачи через жопу.

Налицо торжество индусского подхода
<< Если гора идет к тебе, спасайся: это обвал. >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.