ale*_*ale 1 c# wpf console console-application wpf-controls
我有一个控制台项目,但现在我需要打开一个用户界面.所以我使用的是3层模型(演示,业务,访问数据).
在我的方法中,Main()我调用表示层(如窗体形式或Wpf中的应用程序),因此,在表示层中是通过CONSOLE与用户交互.
现在我在表示层中添加一个名为"UserInterface.xaml"的窗口来代替控制台.因为应该用INTERFACE而不是控制台.
我观察到在MainWindow中调用的是MainWindow.Show();
但我不知道如何调用我的"UserInterface.xaml",因为没有.Show()方法.
这是我的方法主要:
public static void Main()
{
MainWindow.Show(); // THIS IS WITH MainWindow.xaml
UserInterface.??? // THIS IS MY CASE WITH UserInterface.xaml
}
Run Code Online (Sandbox Code Playgroud)
那么有人可以告诉我如何从Main方法调用我的窗口吗?
你肯定开始使用错误的项目模板.要使WPF窗口可见并具有交互性,您必须遵循UI线程的规则.其中包括将应用程序的主线程标记为STA线程并抽取消息循环.像这样:
class Program {
[STAThread]
public static void Main() {
var app = new Application();
app.Run(new MainWindow());
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,Application.Run()是一个阻塞调用,在用户关闭主窗口之前不会返回.这是Windows工作方式的一个相当不可避免的结果.
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |