Значение, введенное в первую ячейку столбца таблицы данных, должно быть заполнено в других столбцах той же ячейки с использованием WPF. - PullRequest
0 голосов
/ 13 июня 2019

Как я могу разработать приложение с приведенными ниже требованиями. Так как я новичок в WPF, я изучаю способ сделать это. [достаточно написать]

Приложение WPF со следующими требованиями.

  • Строка, которая будет первой строкой в ​​WPF GridView.

  • Строка будет располагаться под заголовками столбцов сетки и над строками данных и будет находится внутри самой сетки.

  • Когда любая ячейка в первой строке получает данные, эти данные заполняются вниз столбец для той же ячейки в сетке

  • После обновления ячейки вниз по столбцу содержимое ячейки [в первом ряд] очищаются

  • обработка сортировки, фильтрации, разбиения по страницам, переупорядочения столбцов, изменения размера столбцов и т. Д.

    • разрешить для пользовательских CellTemplate и EditCellTemplate

Условия:

будет применяться к другим сеткам в будущем

Нет кода позади

придерживаться хороших ООП, принципа дизайна WPF, быть тестируемым, реализовываться в рамках структура MVVM.

1 Ответ

1 голос
/ 13 июня 2019

Самый простой способ, который я могу придумать, - это использовать шаблон заголовка каждого столбца.

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

Вы бы это определили.

Это выглядело бы как следующая разметка (это всего лишь воздушный код).

<DataGridTextColumn …..
    <DataGridTextColumn.HeaderTemplate>
        <DataTemplate>
           <StackPanel>
              <TextBlock Text="Some Header Text"/>
              <TextBox Text="{Binding SomeDefaultForThisColumn}"

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

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

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

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