下面是使用 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即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)