Newer
Older
Qwilight / Igniter / View / MainWindow.xaml.cs
@Taehui Taehui on 14 Nov 951 bytes 2023-11-15 오전 12:14
using CommunityToolkit.Mvvm.Messaging;
using Igniter.ViewModel;
using System;
using System.Linq;
using System.Windows;

namespace Igniter.View
{
    public partial class MainWindow : IRecipient<ICC>
    {
        public MainWindow()
        {
            InitializeComponent();

            WeakReferenceMessenger.Default.Register<ICC>(this);
        }

        void OnLoaded(object sender, RoutedEventArgs e) => (DataContext as MainViewModel).OnLoaded();

        public void Receive(ICC message)
        {
            switch (message.IDValue)
            {
                case ICC.ID.ViewAllowWindow:
                    var data = message.Contents as object[];
                    var r = MessageBox.Show(this, data[0] as string, "Qwilight", (MessageBoxButton)data[1], (MessageBoxImage)data[2]);
                    (data.ElementAtOrDefault(3) as Action<MessageBoxResult>)?.Invoke(r);
                    break;
            }
        }
    }
}