wpf Как передать контекст данных из DialogHost?
Определил класс DialogHost.cs:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pearlbook_Core
{
partial class DialogHost:UC_MainWindow
{
public Pearlphonebook Pearlphonebook { get; private set; }
public DialogHost(Pearlphonebook p)
{
InitializeComponent();
Pearlphonebook = p;
this.DataContext = Pearlphonebook;
}
}
}
Код обработчика событий:
private void ItemCreate_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var result = AddDialog.IsOpen = true;
DialogHost dialog = new DialogHost(new Pearlphonebook());
Pearlphonebook pearlphonebook = dialog.Pearlphonebook;
db.pearlphonebooks.Add(pearlphonebook);
db.SaveChanges();
}
Диалог открывается, вношу в его TextBox'ы данные, но в таблицу добавляется пустая строка.
Что не правильно делаю? Как правильно передать данные из TextBox'ов в таблицу с помощью контекста данных?
Ответы (1 шт):
Автор решения: DemionRok IT
→ Ссылка
Я нашел решение на свой вопрос CodeBehind:
private async void ItemCreate_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var pearlphonebook = new Pearlphonebook();
db.pearlphonebooks.Add(pearlphonebook);
db.SaveChanges();
await DialogHost.Show(pearlphonebook);
}
MVVM
public RelayCommand AddCommand
{
get
{
return addCommand ??
(addCommand = new RelayCommand(async (o) =>
{
var pearlphonebook = new Pearlphonebook();
db.pearlphonebooks.Add(pearlphonebook);
db.SaveChanges();
await MaterialDesignThemes.Wpf.DialogHost.Show(pearlphonebook);
}));
}
}