C # / XAML: получить значение Textbox из DataTemplate Textbox в DataGridView - PullRequest
0 голосов
/ 23 ноября 2018

Ситуация:

У меня есть DataGridView в моем приложении WPF, которое подключено к моему серверу SQL.Я создал Textbox, который на самом деле не существует, внутри DataTemplate.

<DataGridTemplateColumn Header="Amount">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <TextBox x:Name="txtAmount"/>
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

Это гарантирует, что каждый столбец имеет текстовое поле.Теперь я хочу получить значение Textbox из текущей ячейки или из последней ячейки, в которую помещается какое-то значение (в DataGridView), и я хочу использовать это значение для вставки значения в другой столбец таблицы базы данных.Я обратился ко многим источникам, но, к сожалению, я не знаю, как реализовать это в моей программе.Я попробовал что-то с Binding, но это не сработало.

Я надеюсь, что кто-то может помочь мне с моей проблемой.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Используйте событие Textbox.TextChanged.Если вы используете MVVM, свяжите метод с конвертером, чтобы получить данные из ячейки, которая изменилась. Используйте это значение для применения к любому другому столбцу.

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

0 голосов
/ 23 ноября 2018

Если вы задаете контекст данных для вашей DataGrid, строка таблицы данных наследует это (контекст данных строки - это отдельный элемент из коллекции, к которой вы привязываете свою DataGrid).

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

...