using System; using Avalonia.Controls; using CommunityToolkit.Mvvm.Messaging; using GazpromApp.Messages; using GazpromApp.ViewModels; namespace GazpromApp.Views; public partial class NewEquipmentDialog : Window { public NewEquipmentDialog() { InitializeComponent(); // done entering new equipment WeakReferenceMessenger.Default.Register(this, static (w, m) => { w.Close(m.Equipment); }); // register to work with errors WeakReferenceMessenger.Default.Register(this, static (w, m) => { ErrorView dialog = new ErrorView() { DataContext = m.Error }; m.Reply(dialog.ShowDialog(w)); }); } private void Window_OnClosed(object? sender, EventArgs e) { WeakReferenceMessenger.Default.Unregister(this); WeakReferenceMessenger.Default.Unregister(this); } }