Вопрос по c#, wpf – Предотвращать остановки вкладок на уровне ячеек, но все же позволяет строкам иметь закладки в WPG DataGrid

2

Я хочу запретить табуляции в отдельных ячейках, но разрешить табуляции на уровне строк

Я думал, что я мог бы просто использовать CellStyle, чтобы отключить IsTabStop на всех ячейках

<DataGrid.CellStyle>
    <Style TargetType="DataGridCell">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="IsTabStop" Value="false"/>
    </Style>
</DataGrid.CellStyle>

Но это препятствует тому, чтобы у рядов также были закладки

Поэтому я подумал, что я должен включить табуляции в строках, используя RowStyle

<DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
        <Setter Property="IsTabStop" Value="true"/>
    </Style>
</DataGrid.RowStyle>

Но это тоже не работает

У кого-нибудь есть идеи?

Ваш Ответ

1   ответ
7

Измените IsTabStop на false для всех столбцов DataGridCell

Измените IsTabStop на true для моего основного столбца, который является DataGridTemplateColumn

<DataGrid.CellStyle>
    <Style TargetType="DataGridCell">
        <Setter Property="IsTabStop" Value="false"/>
    </Style>
</DataGrid.CellStyle>


<DataGrid.Columns>

    <DataGridTemplateColumn Header="File name" Width="435">

        <DataGridTemplateColumn.CellStyle>
            <Style TargetType="DataGridCell">
                <Setter Property="IsTabStop" Value="true"/>
                <Setter Property="BorderThickness" Value="0"/>
                <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
            </Style>
        </DataGridTemplateColumn.CellStyle>

    ...........

Включая эту строку, я могу отключить пунктирную линию квадратной границы

<Setter Property="FocusVisualStyle" Value="{x:Null}"/>

edit*

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

+1 для «Неважно, это слишком много проблем» :)

Похожие вопросы