#wpf
#wpf
Вопрос:
Я хочу привязать элемент управления сеткой данных к свойству коллекции в моей модели MVVM таким образом, чтобы при добавлении новых строк самой модели присваивалось свойство каждого объекта, сгенерированного сеткой данных. Цель этого — создать двустороннее отношение «один ко многим» между моделью и ее дочерними элементами коллекции, чтобы каждый элемент мог знать о родительской модели.
Как это сделать?
Спасибо!
Комментарии:
1. Когда вы говорите «модель передается конструктору», что вы имеете в виду? По моему опыту, модель относится конкретно к предметной области данных в программе. Если вы говорите о наличии родительского класса модели, у которого есть дочерние элементы в коллекции, это должно быть довольно просто. Пожалуйста, поясните.
Ответ №1:
Я предполагаю, что вы используете новую строку записи DataGrid для добавления элементов. Я не уверен, как сделать с этим то, что вы хотите, однако, что вы можете сделать, это добавить кнопку для создания нового элемента, привязать свойство команды buttons к команде в вашей ViewModel и построить оттуда. Просто есть перегруженный конструктор, который принимает аргумент.
Мне приходит в голову, что вы могли бы сделать это иначе. Вам нужно будет сделать видимым любой объект, на который вы хотите ссылаться, из нового объекта. Вы могли бы сделать это таким образом:
- В вашем коде MainWindow (или App.xaml) создайте и предоставьте свойство для хранения текущего объекта модели.
-
Всякий раз, когда изменяется текущий объект модели, отражайте это изменение в открытом свойстве.
-
В конструкторе для вашего дочернего объекта найдите это свойство.
-
Если значение не равно null, присвойте его соответствующему дочернему свойству навигации.