Создание горизонтального разделителя в xamDataGrid

Мне нужен какой-то способ указать разделение или линию между двумя записями, элементы данных которых известны, в XamDataGrid. В настоящее время я делаю это, добавляя фоновую кисть к строкам, которые содержат градиент (верхняя строка имеет сплошной красный цвет внизу, нижняя строка имеет сплошной красный цвет вверху), в результате чего появляется красивый красный цвет. линия между двумя рядами. Преобразователь сверяет элементы данных с полями, содержащими специальные элементы данных, и, если они совпадают, применяет кисть. Однако теперь мне нужно добавить к строкам фактические фоны.

пример запуска, показывающий необходимую красную линию, а также пример нормального фона (желтый)

Итак, есть ли способ применить две LinearGradientBrush к одной и той же строке? В качестве альтернативы я попытался добавить StopCollections для двух градиентов границы к обычным фоновым кистям, но это означает, что для каждого нормального фона есть 3 возможных кисти (простая, красная вверху, красная внизу), которые быстро складываются, когда у вас есть 12. возможные фоны.

С другой стороны, возможно ли добавить строку или показать разделитель в xamDataGrid каким-либо другим способом, кроме этого фонового взлома? Может быть, пограничный хак или реальный способ вставки визуальных элементов в сетку в месте, указанном индексами строк?


person Neil    schedule 11.07.2012    source источник


Ответы (1)


Вы можете добавить стиль для DataRecordCellArea, чтобы показать границу под ячейками. Например:

<Style TargetType="{x:Type igDP:DataRecordCellArea}">
    <Setter Property="BorderBrush" Value="Red"/>
    <Setter Property="BorderThickness" Value="0,0,0,2"/>
</Style>

Обратите внимание, что вам все равно нужно будет добавить логику, которую вы должны использовать это условно.

person alhalama    schedule 18.09.2012