using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using ZB.MOM.WW.OtOpcUa.Client.Shared; using ZB.MOM.WW.OtOpcUa.Client.UI.Services; using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels; using ZB.MOM.WW.OtOpcUa.Client.UI.Views; namespace ZB.MOM.WW.OtOpcUa.Client.UI; public class App : Application { public override void Initialize() { AvaloniaXamlLoader.Load(this); } public override void OnFrameworkInitializationCompleted() { if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { var factory = new OpcUaClientServiceFactory(); var dispatcher = new AvaloniaUiDispatcher(); var viewModel = new MainWindowViewModel(factory, dispatcher); desktop.MainWindow = new MainWindow { DataContext = viewModel }; } base.OnFrameworkInitializationCompleted(); } }