狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何創(chuàng)建Winform Blazor應(yīng)用

admin
2024年2月7日 23:29 本文熱度 789

導(dǎo)讀

    如果有接觸過Blazor的,基本也都了解過一些前端組件,如:MASA、AntDesign等,同樣也都配備了Winform或者WPF等桌面應(yīng)用的集成模板。但是如果不想使用第三方,自己如何手動(dòng)創(chuàng)建一個(gè)干凈純粹的項(xiàng)目呢?


開發(fā)環(huán)境:.NET 6

開發(fā)工具:Visual Studio 2022

 









實(shí)現(xiàn)步驟



  1. 創(chuàng)建一個(gè)基于.Net6+的Winform應(yīng)用
  2. 使用NuGet 包管理器安裝 Microsoft.AspNetCore.Components.WebView.WindowsForms NuGet 包,這里由于我們使用的使用的.NET6版本,所以選擇6開頭的版本的包
  3. 編輯項(xiàng)目文件,將頂部的
<Project Sdk="Microsoft.NET.Sdk">改為<Project Sdk="Microsoft.NET.Sdk.Razor">


  1. 添加_Imports.razor文件,內(nèi)容如下,其他一些公共的經(jīng)常使用的引用或者注入也都放到此頁面,就不用在其他頁面分別引用了
@using Microsoft.AspNetCore.Components.Web


  1. 創(chuàng)建wwwroot文件夾,并在文件夾內(nèi)創(chuàng)建index.html文件,其他靜態(tài)文件/文件夾也需要放在此目錄下,內(nèi)容如下
<!DOCTYPE html><html lang="en"><head>    <meta charset="utf-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>WinFormsBlazor</title>    <base href="/" />    <link href="css/app.css" rel="stylesheet" />    <link href="WinFormsBlazor.styles.css" rel="stylesheet" /></head>
<body>
   <div id="app">Loading...</div>
   <div id="blazor-error-ui" data-nosnippet>        An unhandled error has occurred.        <a href="" class="reload">Reload</a>        <a class="dismiss">🗙</a>    </div>
   <script src="_framework/blazor.webview.js"></script></body></html>


  1. 創(chuàng)建css文件夾,添加app.css以及其他需要的樣式表,默認(rèn)樣式可按照以下內(nèi)容
html, body {    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;}
h1:focus {    outline: none;}
a, .btn-link {    color: #0071c1;}
.btn-primary {    color: #fff;    background-color: #1b6ec2;    border-color: #1861ac;}
.valid.modified:not([type=checkbox]) {    outline: 1px solid #26b050;}
.invalid {    outline: 1px solid red;}
.validation-message {    color: red;}
#blazor-error-ui {    background: lightyellow;    bottom: 0;    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);    display: none;    left: 0;    padding: 0.6rem 1.25rem 0.7rem 1.25rem;    position: fixed;    width: 100%;    z-index: 1000;}
   #blazor-error-ui .dismiss {        cursor: pointer;        position: absolute;        right: 0.75rem;        top: 0.5rem;    }


  1. 創(chuàng)建一個(gè)Razor組件,Counter.Razor,內(nèi)容如下。
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {    private int currentCount = 0;
   private void IncrementCount()    {        currentCount++;    }}


  1. 打開Winform窗體設(shè)計(jì)頁面,在工具箱中找到BlazorWebView控件并拖入到窗體(注意這里不是WebView2控件,請(qǐng)勿選錯(cuò) ),并設(shè)置Dock屬性為Fill
  2. 在窗體的代碼頁面添加以下引用
    using Microsoft.AspNetCore.Components.WebView.WindowsForms;using Microsoft.Extensions.DependencyInjection;



  1. 在構(gòu)造函數(shù)中的 InitializeComponent 方法調(diào)用后面,添加以下代碼
    var services = new ServiceCollection();services.AddWindowsFormsBlazorWebView();blazorWebView1.HostPage = "wwwroot\\index.html";blazorWebView1.Services = services.BuildServiceProvider();blazorWebView1.RootComponents.Add<Counter>("#app");


  1. 以上只是一個(gè)比較簡(jiǎn)單的結(jié)構(gòu),實(shí)際上整個(gè)項(xiàng)目的文件結(jié)構(gòu),可以直接參考Blazor項(xiàng)目的結(jié)構(gòu),如使用SharedPages

實(shí)現(xiàn)效果

 



☛☛☛點(diǎn)擊此處下載源碼☚☚☚

該文章在 2024/2/7 23:29:29 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved