gpt4 book ai didi

c# - 按名称显示 WPF 窗口

转载 作者:行者123 更新时间:2023-11-30 15:10:47 26 4
gpt4 key购买 nike

项目 A 包含一个 WPF 窗口(数据输入窗体)和一个启动各种报告的命令堆栈面板。菜单是从数据库动态构建的列表。我试图做的是根据与菜单选项关联的 CommandText 启动相应的 WPF 窗口。我想创建一个接受 WPF 窗口名称 (CommandText) 并按名称启动窗口的新实例的函数。

我找到了如何在类上启动方法的示例,但似乎找不到适用于窗口的方法。我知道这可以通过一个开关来完成,只需映射所有窗口,但有 60-70 个窗口,我试图避免膨胀。

我多次尝试使用 TypeOfActivator.CreateInstance 都失败了。建议?这可能吗?

最佳答案

Activator 对我来说效果很好。你有什么错误?试试下面的代码是否适合你

private void Button_Click(object sender, RoutedEventArgs e)
{
Window wnd = (Window)CreateWindow("WpfApplication1.Window2");
wnd.Show();

}

public object CreateWindow(string fullClassName)
{
Assembly asm = this.GetType().Assembly;

object wnd = asm.CreateInstance(fullClassName);
if (wnd == null)
{
throw new TypeLoadException("Unable to create window: " + fullClassName);
}
return wnd;
}

关于c# - 按名称显示 WPF 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com