VS中模仿WPF模板創(chuàng)建最簡單的WPF程序
如果不用VS的WPF項(xiàng)目模板,如何手工創(chuàng)建一個(gè)WPF程序呢?我們來模仿WPF模板,創(chuàng)建一個(gè)最簡單的WPF程序。
第一步:文件——新建——項(xiàng)目——空項(xiàng)目,創(chuàng)建一個(gè)空項(xiàng)目。
第二步:添加引用,PresentationFramework,PresentationCore,WindowsBase,System,System.Xaml,這幾個(gè)是WPF的核心dll。
第三步:在項(xiàng)目上右鍵添加新建項(xiàng),添加兩個(gè)“xml文件”,分別命名為App.xaml和MainWindow.xaml??梢钥闯?,xaml文件其實(shí)就是xml文件。
第四步:同第二步,添加兩個(gè)代碼文件,即空白c#代碼文件,分別命名為App.xaml.cs和MainWindow.xaml.cs。可以看到,這兩個(gè)文件自動(dòng)變成第二步生成的兩個(gè)文件的code-behind文件。
第五步:添加Xaml和C#代碼:
App.xaml和MainWindow.xaml中刪除自動(dòng)生成的xml文件頭,分別添加如下Xaml標(biāo)記:
<Application x:Class="WpfApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
<Window x:Class="WpfApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
</Grid>
</Window>
App.xaml.cs和MainWindow.xaml.cs中分別添加類似如下的代碼:
using System.Windows;
namespace WpfApp
{
/// <summary>
/// App.xaml 的交互邏輯
/// </summary>
public partial class App : Application
{
}
}
using System.Windows;
namespace WpfApp
{
/// <summary>
/// MainWindow.xaml 的交互邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
第六步:如果此時(shí)編譯就會(huì)報(bào)錯(cuò),提示沒有找到Main函數(shù)入口,這個(gè)Main函數(shù)其實(shí)不用自己添加,系統(tǒng)會(huì)自動(dòng)生成的。打開App.xaml的文件屬性,將生成操作由Page改為ApplicationDefinition。
第七步:此時(shí)應(yīng)該已經(jīng)可以正常運(yùn)行了,系統(tǒng)默認(rèn)輸出是控制臺應(yīng)用程序,可以打開項(xiàng)目屬性頁,將輸出類型改為Windows應(yīng)用程序。
至此,一個(gè)模仿VS的WPF項(xiàng)目模板的最簡單的WPF程序就OK了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Avalonia封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類
這篇文章主要為大家詳細(xì)介紹了Avalonia如何封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起來學(xué)習(xí)學(xué)習(xí)吧2023-03-03
C#訪問C++動(dòng)態(tài)分配的數(shù)組指針(實(shí)例講解)
下面小編就為大家分享一篇C#訪問C++動(dòng)態(tài)分配的數(shù)組指針(實(shí)例講解),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
詳解如何通過C#/VB.NET調(diào)整PDF文檔頁邊距
PDF邊距是頁面主要內(nèi)容區(qū)域和頁面邊緣之間的距離。與Word頁邊距不同,PDF文檔的頁邊距很難更改。本文將介紹如何在不更改頁面大小的情況下使用C#/VB.NET?代碼調(diào)整PDF文檔的頁邊距,需要的可以參考一下2023-04-04
詳解如何使用BenchmarkDotNet對.NET代碼進(jìn)行性能基準(zhǔn)測試
BenchmarkDotNet是一個(gè)基于.NET開源、功能全面、易于使用的性能基準(zhǔn)測試框架,這篇文章就來和小編一起學(xué)習(xí)一下如何使用BenchmarkDotNet對.NET代碼進(jìn)行性能基準(zhǔn)測試吧2024-12-12
C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉和重啟計(jì)算機(jī)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉和重啟計(jì)算機(jī)的功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#實(shí)現(xiàn)打印與打印預(yù)覽功能的思路及代碼
這篇文章主要介紹了C#實(shí)現(xiàn)打印與打印預(yù)覽功能的思路及代碼,有需要的朋友可以參考一下2013-12-12
WCF實(shí)現(xiàn)進(jìn)程間管道通信Demo分享
下面小編就為大家分享一篇WCF實(shí)現(xiàn)進(jìn)程間管道通信Demo,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12

