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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.