Rakon22 Ответов: 3

Шаблон Datagrid и замороженные столбцы


Привет
Я хотел бы сделать нижний колонтитул в datagrid, состоящий из текстовых полей. Я думал о чем-то подобном, но в тот момент, когда я установил FrozenColumnCount = " 5 " замороженными остаются только строки, но нижний колонтитул и верхние колонтитулы не там, где я делаю ошибку

Что я уже пробовал:

<ControlTemplate TargetType="{x:Type DataGrid}">
                            <Border >
                                <ScrollViewer>
                                    <Grid>
                                        <Grid.RowDefinitions>
                                            <RowDefinition/>
                                            <RowDefinition/>
                                            <RowDefinition/>
                                        </Grid.RowDefinitions>
                                        <DataGridColumnHeadersPresenter Grid.Row="0"/>
                                        <ItemsPresenter Grid.Row="1"/>
                                        <WrapPanel Grid.Row="2">
                                            <TextBox Text="Tekst1"/>
                                            <TextBox Text="Tekst2"/>
                                            <TextBox Text="Tekst3"/>
                                            <TextBox Text="Tekst4"/>
                                            <TextBox Text="Tekst5"/>
                                            <TextBox Text="Tekst6"/>
                                        </WrapPanel>
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </ControlTemplate>

3 Ответов

Рейтинг:
2

Graeme_Grant

Альтернативой и гораздо лучшим решением для вас является отказ от стандартной DataGrid и использование syncfusion[^] компонента DataGrid[^]. У них есть общественные лицензии, которые не будут стоить вам ни цента.

Подробнее об этом вы можете прочитать в их документация[^]

Я не связан с syncfusion и не использую их продукты.


Рейтинг:
1

Graeme_Grant

Поиск в Google - ваш друг. Есть много ответов на ваш выбор: замороженные столбцы WPF datagrid[^]


Rakon22

Понимание прочитанного - ваш друг :) Я хочу изменить шаблон, потому что я хочу иметь нижний колонтитул в datagrid и все еще иметь функциональность замороженных столбцов

Graeme_Grant

не тыкай пальцем в помощь, они могут и не откликнуться. Вы-тот, кто просит о помощи, и это из нашей щедрости, что мы делаем. Мы не обязаны.

Рейтинг:
0

Graeme_Grant

Итак, вы используете хак для добавления нижнего колонтитула, не присущего элементу управления.

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