0

Не могу никак реализовать данный код. Помогите, есть 1 окно, содержащее датагрид и кнопку. Кнопка перенаправляет на модальное окно, в котором находятся текстбокс и кнопка. Вписывыаем данные в текстбокс, нажимаем кнопку - текст из этого текстбокса должен заноситься в датагрид. Как это реализовать? Целесообразно ли использовать датагрид?

Dovee
  • 15
  • 6
  • Как это реализовать? - привязки! Забудьте вы про использование UI в коде, работайте с классами. Целесообразно ли использовать датагрид? - как источник данных, нет. – EvgeniyZ Jan 17 '21 at 11:42
  • А как место хранения и дальнейшего экспорта данных? – Dovee Jan 17 '21 at 11:46
  • DatdGrid использовать целесообразно только если вы редактируете данные прямо в таблице. Если у вас для редактирования данных сделано что-то своё, то проще использовать ListBox или ListView. – aepot Jan 17 '21 at 11:55
  • Данные - это классы, например вам надо вывести список пользователей в ListBox, вы делаете класс User с нужными свойствами и методами, далее делаете коллекцию, которая будет содержать в себе всех пользователей (public ObservableCollection<User> Users {get; set;}), задаете источник данных на нужный класс, сожержащем в себе Users (DataContext = new SomeClass();), ну и в XAML пишете <ListBox ItemsSource = "{Binding Users}"/>, все. Вот так у вас должно все быть, простой проект с привязкой, где данные отдельны от UI, а сейчас у вас получается так, что UI у вас хранит данные и это плохо! – EvgeniyZ Jan 17 '21 at 11:56
  • @EvgeniyZ UI у вас хранит данные и это плохо - во-первых, это вангование, а не факт, хоть я и согласен, что это так и есть с вероятностью 99%. Во-вторых все-таки если так хочется помочь автору, лучше покажите автору простой и понятный пример в ответе. Подозреваю, что качественный ответ с примером кода будет автору понятнее, чем стена комментов. Расценивайте пожалуйста это не как наезд, а как конструктивное предложение. :) – aepot Jan 17 '21 at 12:02
  • @aepot 1. 100% используется UI, ибо текст из этого текстбокса должен заноситься в датагрид. 2. Я не вижу смысла в ответе, ибо 1. На SO есть уйма ответов, как и что делать, что, опять повторять одно и тоже? Ну такое себе занятие. Уж лучше найти годный ответ и закрыть дубликатом. 2. Я не вижу желание автора разбираться в этом, и я уверен, что если написать ответ, то он его не поймем, скопирует бездумно и дальше будет писать myTextBox.Text = "текст";, может и ошибаюсь, да, но раз так, то тогда здесь достаточно "автор, посмотрите, что такое binding и как положено использовать WPF". – EvgeniyZ Jan 17 '21 at 12:10
  • @EvgeniyZ https://ru.stackoverflow.com/a/1109976/373567 вот кстати, но я уже проголосовал. – aepot Jan 17 '21 at 12:26
  • @EvgeniyZ Вот еще пример https://ru.stackoverflow.com/a/1219057/373567, но все эти примеры без отдельного окна. А как с отдельным окном без нарушения MVVM решить - я не нашел. – aepot Jan 17 '21 at 12:30
  • @aepot В этом вся и проблема) Тут нету вопроса про MVVM, а есть вопрос про передачу данных из класса в класс, также увы, не подходит то, чем вы пытаетесь закрыть (учебное задание). Может тогда этим (или аналогичным) закрыть? – EvgeniyZ Jan 17 '21 at 12:41
  • @EvgeniyZ там не WPF. Все аналогичные я как раз по винформам вижу, а по WPF - нет. Может все-таки ответ дать? Без MVVM и всякого такого, а просто с привязкой коллекции. – aepot Jan 17 '21 at 12:45
  • @aepot А чем WPF отличается от чего-либо другого? Передача данных из класса в класс везде одинакова, особенно если брать базовую работу с UI WPF. Ну а так, я вам не запрещаю, делайте ответ если хотите, только сами понимаете, что вы сейчас потратите время на дублирование того, что сами писали много раз) – EvgeniyZ Jan 17 '21 at 12:52
  • @EvgeniyZ к сожалению, качество вопроса не позволяет однозначно понять, что именно хочет узнать автор и что у него не получается. Поэтому я таки подожду его реакцию на комментарии. – aepot Jan 17 '21 at 13:00
  • @EvgeniyZ aepot спасибо за ответы. Я освою MVVM, буду делать привязки. Как вы сказали, с UI работать буду по минимуму. В формулировке вопроса, я имел ввиду, грубо говоря, использование одной переменной одного окна в другом окне. Больше моя голова придумать не могла. Спасибо за ответ, еще раз – Dovee Jan 18 '21 at 02:21

0 Answers0