在Winforms应用程序中,我们开发了一个自我更新的应用程序启动器,我试图模仿WPF,但面临一些问题。这适用于Winforms的方式:
我试图在WPF中模仿相同但我遇到的问题:
了解如何在Wpf应用程序中实现所需行为的任何指导。
答案 0 :(得分:0)
WPF应用程序派生自System.Windows.Application的基类。 VS使用的基本模板创建App.xaml和App.xaml.cs.该类具有静态入口点
public static void Main()
这就是我使用的:
var type = yourloadedassembly.GetType( "YourNamespace.App" );
type.InvokeMember( "Main", BindingFlags::Public | BindingFlags::Static | BindingFlags::InvokeMethod, null, null, null );
答案 1 :(得分:0)
对于任何有趣的人来说,解决这个问题实际上是非常重要的:
当启动程序通过反射调用入口点方法时,从应用程序程序集中添加资源和新的MainWindow以分配给Application.Current.MainWindow:
Application.Current.Resources = new ResourceDictionary() {Source = new Uri("pack://application:,,,/MyApp.UI.Styling;component/Common.xaml")};
Application.Current.MainWindow = new MainWindow();
Application.Current.MainWindow.Show();
返回Launcher,关闭()Launcher窗口