WPF. Хитрая раскраска грида. Помогите выбрать направление.
От: MAMOHT  
Дата: 15.02.13 12:49
Оценка:
Еще раз, здравствуйте.

Решение крутится, но никак не могу вспомнить как эта технология называется.
Предпосылки: есть бОООльшая dataGrid, которую надо заполнять поячейно.

И вот захотелось мне сделать так, чтобы подсвечивалась не только выбранная ячейка, но и те ячейки, которые находятся слева от нее и сверху. Чтобы пользователь не ломал глаза, пытаясь проследить, что там у этой строки написано в столбце "Наименование" и что к какому месяцу относится столбец.

Я чувствую, что решение в мультитригерах, как-то:

(ячейки, которые слева и сверху — желтый фон, выбранная — красный, остальные — белый)
        <MultiTrigger>
            <MultiTrigger.Conditions>
                <Condition Property="IsSelected" Value="False"/>
                <Condition Property="WhereSelection" Value="Right"/>
            </MultiTrigger.Conditions>
            <Setter Property="Background" Value="Yellow"/>
        </MultiTrigger>        

        <MultiTrigger>
            <MultiTrigger.Conditions>
                <Condition Property="IsSelected" Value="False"/>
                <Condition Property="WhereSelection" Value="Bottom"/>
            </MultiTrigger.Conditions>
            <Setter Property="Background" Value="Yellow"/>
        </MultiTrigger>

        <Trigger Property="IsSelected" Value="True"/>
            <Setter Property="Background" Value="Red"/>
        </Trigger>   

        <MultiTrigger>
            <MultiTrigger.Conditions>
                <Condition Property="IsSelected" Value="False"/>
                <Condition Property="WhereSelection" Value="None"/>
            </MultiTrigger.Conditions>
            <Setter Property="Background" Value="White"/>
        </MultiTrigger>

Но вот как сделать это самое свойство "WhereSelection" запамятовал. Что почитать, куда копать?

Что-то помню про инъекции...свойства...зависимости... Но в связную картину решение не складывается. Даже строку для гугла придумать не могу

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.