wpf怎么实现控制台应用

wpf怎么实现控制台应用,第1张

WPF (Windows Presentation Foundation)是用于创建 Windows 桌面应用程序的框架。WPF 通常用于创建图形用户界面 (GUI) 应用程序,而控制台应用程序则是一种没有 GUI,通过控制台进行输入输出 *** 作的应用程序。不过,WPF 也可以用于创建控制台应用程序。

下面是使用 WPF 创建控制台应用程序的基本步骤:

1. 打开 Visual Studio 并选择 “新建项目”,选择 “控制台应用程序”。

2. 在解决方案资源管理器中右键单击项目,选择“添加”并选择“引用”。

3. 在“管理 NuGet 程序包” 对话框中搜索并安装“Microsoft.Windows.SDK.Contracts”。

4. 创建一个名为“App.xaml”的文件,其中应包含以下代码:

```xml

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

x:Class="ConsoleApp.App">

<Application.Resources>

<!-- 添加应用程序资源 -->

</Application.Resources>

</Application>

```

5. 创建一个名为“App.xaml.cs”的文件,其中应包含以下代码:

```csharp

using Microsoft.Extensions.Hosting

namespace ConsoleApp

{

public partial class App : Application

{

protected override void OnStartup(StartupEventArgs e)

{

Host.CreateDefaultBuilder()

.ConfigureServices(services =>services.AddSingleton<MainWindow>())

.Build()

.Services

.GetRequiredService<MainWindow>()

.Show()

}

}

}

```

6. 创建一个名为“MainWindow.xaml”的文件,其中应包含以下代码:

```xml

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

title="MainWindow" Height="350" Width="525">

<!-- 在此添加控件和 UI 元素 -->

</Window>

```

7. 创建一个名为“MainWindow.xaml.cs”的文件,其中应包含以下代码:

```csharp

using System.Windows

namespace ConsoleApp

{

public partial class MainWindow : Window

{

public MainWindow()

{

InitializeComponent()

}

}

}

```

8. 运行应用程序,您将看到控制台中打印的一些内容,同时还会d出一个空白的窗口。在这个窗口中,您可以添加所需的 UI 元素和代码来处理控制台输入输出等 *** 作。

上述步骤仅提供了创建 WPF 控制台应用程序的基本步骤,具体实现方式可能因应用程序需求而异。您可能需要自行添加一些代码来完成特定的 *** 作。

TIMER控件c#有5种时间控件1.System.Threading.Timer2.System.Timers.Timer3.System.Windows.Forms.Timer4.System.Web.UI.Timer5.System.Windows.Threading.DispatcherTimer其中第四个主要用于web开发中,第一个和第二个的触发事件和UI处于不同的线程,因此如果使用它们的触发事件来改变UI,会发生对象被占用的异常,第三个是WinForm的计时器,在WPF中也可以使用,不过必须添加System.Windows.Forms的引用,第五个是WPF自己的计时器,一般在WPF程序中最好使用该计时器,使用例子如下:DispatcherTimertimer=newDispatcherTimer()timer.Interval=TimeSpan.FromMilliseconds(1000)timer.Tick+=myEventHandler//你的事件timer.Start()

WPF中实现点击 . . . 按钮后选择文件夹作为主目录功能;亲测有用

(下图是我用WPF做的FTP服务器和FTP上传下载器的一部分)

// 选择文件夹

private void btnSelectRootDirect_Click(object sender, RoutedEventArgs e)

{

    System.Windows.Forms.FolderBrowserDialog openFileDialog = 

                                   new System.Windows.Forms.FolderBrowserDialog()

    /*注意,FolderBrowserDialog前面的命名空间不能删除,此处一定要手动引入

    System.Window.Forms空间,否则你使用默认的DialogResult会发现没有OK属性*/

    if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

    {

        txtFtpRoot.Text = openFileDialog.SelectedPath

    }

}

注意:在wpf中手动引入System.Window.Forms时报错,原因如下

在C# Winform窗体应用中默认引入System.Window.Forms,

但是wpf中没有没有默认引入System.Window.Forms;需要添加引用

解决方案:项目右侧--解决资源管理器---引用---右键--添加引用---在.NET下拉框找---找到System.Windows.Forms---点击确定然后--vs的菜单栏第五个--生成----重新生成解决方案--就可以了。

注意:此时如果程序中包含MessageBox,则引入System.Windows.Forms时MessageBox会报错(因为System.Windows和System.Windows.Forms两个命名空间下都有MessageBox类,如果不指明该类是哪个空间下的,程序就会摸不着头脑),改为System.Windows.MessageBox即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11411304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存