Здравствуйте, 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