Вопрос

Как мне установить текстовое написание каждой ячейки в DataGrid WPF на «NOWRAP»? Я понимаю, что сама ячейка не имеет свойства «текстовых устройств», но я хотел бы установить свойство на контроле в ячейке.

DataGrid, с которым я работаю, не имеет явно определенных столбцов, набор результатов, который он отображает, является динамическим.

Я ищу решение, похожее на ответы, приведенные в ссылках ниже. Однако я не хочу явно переопределять стиль/шаблон ячейки и определять контроль, который будет использоваться. Вместо этого я хотел бы сказать, что если используется текстовый блок, установите свое свойство текстограпирования в Nowrap.

WPF Toolkit Datagrid Text Curppant
Как включить текстовое обертывание на всех заголовках столбцов?

Это было полезно?

Решение

В ресурсах вашего DataGrid вы можете указать альтернативный стиль по умолчанию для текстовых блоков. Это должно делать то, что вам нужно ("Если используется TextBlock, установите его свойство TextPrapping на Nowrap"). Это не сработает, если текстовые блоки явно указывают другой стиль, который будет использоваться.

<DataGrid ...>
    <DataGrid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="NoWrap"/>
        </Style>
    </DataGrid.Resources>
    ...
</DataGrid>

(Не проверенные, так как у меня сейчас нет визуальной студии.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top