Не выделять выделенную ячейку, когда пользователь щелкает в строке сетки данных - PullRequest
1 голос
/ 24 августа 2010

У меня есть DataGrid, который настроен так:

<DataGrid 
    AutoGenerateColumns="True"
    GridLinesVisibility="Horizontal"
    IsReadOnly="True" 
    ItemsSource="{Binding Documents}" 
    SelectionMode="Single"                  
    SelectionUnit="FullRow"
    />

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

Data grid with cell selected

Ответы [ 2 ]

0 голосов
/ 24 августа 2010

Спасибо Марко за то, что указал мне правильное направление.Вот как я изменил свою сетку данных, чтобы она не выглядела так, как будто была выбрана любая ячейка.Вместо этого теперь кажется, что выбран целый ряд.Я выбрал задание фона границы для текущего фона ячеек, чтобы мне не нужно было задавать толщину границы.

<DataGrid ...>
    <DataGrid.CellStyle>
        <Style TargetType="DataGridCell" >
            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Setter
                        Property="BorderBrush" 
                        Value="{Binding RelativeSource={RelativeSource Self}, Path=Background}"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </DataGrid.CellStyle>
</DataGrid>
0 голосов
/ 24 августа 2010

Вам захочется поэкспериментировать со стилями ячеек.Я думаю, что стиль ячеек по умолчанию проверяет IsSelected, и если это граница, будет окрашена черной кистью.

Поскольку вы используете AutoGenerateColumns, вам, вероятно, нужно установить стили для столбцов, как только они былисгенерированный в коде позади.

Я предполагаю, что если вы создадите стиль, отметьте IsSelected и установите для пограничной кисти прозрачный, установите стиль для столбцов сетки данных (ElementStyle + ElementEditingStyle), то вам следует установить,Я пишу это из головы, но я думаю, что это общее направление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...