<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      在winform中使用blazor hybrid構建頁面

      1、Blazor Hybrid簡介

      Blazor Hybrid 使開發人員能夠將桌面和移動本機客戶端框架與 .NET 和 Blazor 結合使用。在 Blazor Hybrid 應用中,Razor 組件在設備上是本機運行的。 這些組件通過本地互操作通道呈現到嵌入式 Web 視圖控件。 組件不在瀏覽器中運行,并且不涉及 WebAssembly。 Razor 組件可快速加載和執行代碼,這些組件可通過 .NET 平臺完全訪問設備的本機功能。

      image-20231208143823640

      2、效果

      3、步驟

      如果對在winform中使用blazor hybrid感興趣的話,可以繼續往下閱讀,看看具體的實現步驟是怎樣的。

      正常創建winform

      創建一個winform,我這里使用的是.NET 8,如下所示:

      image-20231208144608997

      安裝NuGet包

      安裝Microsoft.AspNetCore.Components.WebView.WindowsForms,如下所示:

      image-20231208145229671

      image-20231208145320892

      更改csproj文件

      在“解決方案資源管理器”中,右鍵單擊項目的名稱 ,然后選擇“編輯項目文件”,如下所示:

      image-20231208145822123

      在項目文件的頂部,將 SDK 更改為 Microsoft.NET.Sdk.Razor,如下所示:

      image-20231208145946074

      點擊保存,保存之后,你會發現你的項目變成了這樣,如下所示:

      image-20231208150644002

      添加_Imports.razor 文件

      _Imports.razor 文件添加到項目的根目錄。如下所示:

      image-20231208152453417

      _Imports.razor中的內容為:

      @using Microsoft.AspNetCore.Components.Web

      如下所示:

      image-20231208152614628

      添加index.html 文件

      先將 wwwroot 文件夾添加到該項目。

      再將具有以下標記的 index.html 文件添加到 wwwroot 文件夾。

      <!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">
            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>

      wwwroot 文件夾中,創建一個 css 文件夾來保存樣式表。

      將具有以下內容的 app.css 樣式表添加到 wwwroot/css 文件夾中。

      wwwroot/css/app.css

      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;
        }

      如下所示:

      image-20231208153208293

      添加Count組件

      將以下 Counter 組件添加到項目的根目錄,這是 Blazor 項目模板中的默認 Counter 組件。

      <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++;
        }
      }

      如下所示:

      image-20231208153518357

      添加BlazorWebView 控件

      在“解決方案資源管理器”中,雙擊 Form1.cs 文件以打開設計器:

      image-20231208153925523

      打開工具箱添加BlazorWebView控件:

      image-20231208153651923

      image-20231208155642508

      BlazorWebView控件最大化:

      image-20231208155741004

      修改Form1.cs

      原本是這樣的:

      namespace WinFormBlazorHybridDemo
      {
         public partial class Form1 : Form
        {
             public Form1()
            {
                 InitializeComponent();
            }
      ?
             private void Form1_Load(object sender, EventArgs e)
            {
      ?
            }
        }
      }

      修改后是這樣的:

      using Microsoft.AspNetCore.Components.WebView.WindowsForms;
      using Microsoft.Extensions.DependencyInjection;
      namespace WinFormBlazorHybridDemo
      {
         public partial class Form1 : Form
        {
             public Form1()
            {
                 InitializeComponent();
                 var services = new ServiceCollection();
                 services.AddWindowsFormsBlazorWebView();
                 blazorWebView1.HostPage = "wwwroot\\index.html";
                 blazorWebView1.Services = services.BuildServiceProvider();
                 blazorWebView1.RootComponents.Add<Counter>("#app");
            }
      ?
             private void Form1_Load(object sender, EventArgs e)
            {
      ?
            }
        }
      }

      在頂部添加了:

      using Microsoft.AspNetCore.Components.WebView.WindowsForms;
      using Microsoft.Extensions.DependencyInjection;

      Form1 構造函數中的 InitializeComponent 方法調用后面,添加以下代碼:

       var services = new ServiceCollection();
      services.AddWindowsFormsBlazorWebView();
      blazorWebView1.HostPage = "wwwroot\\index.html";
      blazorWebView1.Services = services.BuildServiceProvider();
      blazorWebView1.RootComponents.Add<Counter>("#app");

      運行效果

      點擊運行,界面如下所示:

      image-20231208160408106

      結語

      后面就可以使用blazor的ui框架比如Ant Design Blazor等構建好看的頁面了。

      posted @ 2023-12-08 17:20  mingupupup  閱讀(1619)  評論(0)    收藏  舉報
      主站蜘蛛池模板: a级亚洲片精品久久久久久久| 亚洲av第二区国产精品| 精品精品久久宅男的天堂| 人妻系列无码专区免费 | 在线高清免费不卡全码| av永久免费网站在线观看| 人妻被猛烈进入中文字幕| 2020年最新国产精品正在播放| 亚洲国产免费图区在线视频| 国产午夜亚洲精品国产成人| 免费看黄片一区二区三区 | 亚洲一本二区偷拍精品| 国产午夜精品一区二区三区不卡| 亚洲精品熟女一区二区| 丁香婷婷色综合激情五月| 天堂www在线中文| 羞羞影院午夜男女爽爽免费视频| 久久综合97丁香色香蕉| 扎囊县| 国产一二三五区不在卡| 亚洲人成网网址在线看| 中文乱码人妻系列一区二区| 麻豆一区二区中文字幕| 免费无码高H视频在线观看| 高清无码18| 国产精品深夜福利免费观看 | 张掖市| 日韩有码中文字幕国产| 六十路老熟妇乱子伦视频| 亚洲人成网站观看在线观看| 狠狠色综合久久丁香婷婷| 国产精品亚洲片夜色在线| 四虎成人精品无码| 国产成人一区二区三区视频免费| 377P欧洲日本亚洲大胆| 日日躁夜夜躁狠狠久久av| 妓女妓女一区二区三区在线观看 | 影音先锋女人AA鲁色资源| 国产对白老熟女正在播放| 精品国产久一区二区三区| 无码AV中文字幕久久专区|