激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

你想一套UI,全終端發(fā)布嗎?也許MAUI能幫你

發(fā)布時間:2024-01-04 11:16:49 瀏覽量:174次

windows 安卓 蘋果預覽圖

MAUI介紹

隨著MAUI正式版的發(fā)布,一直想用MAUI來寫點東西或者實現一個小的項目來學習這個微軟發(fā)布的心再次躁動起來。前面預覽版也有過搭建測試過,但都因為某些不知原因的BUG而,進行的坎坎坷坷。正式版的發(fā)布,期望能夠使用起來能夠。。。爽爽。。

好了來看下MAUI的簡介:

.NET 多平臺應用程序 UI (.NET MAUI) 是一個跨平臺框架,用于使用 C# 和 XAML 創(chuàng)建本機移動和桌面應用程序, 使用 .net MAUI,可以開發(fā)可在 Android、iOS、macOS 上運行的應用,Windows 以及從單個共享代碼庫運行的應用。

看到這里大家感覺有點意思了吧。是個框架,能多端部署應用。

Blazor Hybrid 支持內置于 .NET 多平臺應用 UI (.NET MAUI) 框架。.NET MAUI 包含 BlazorWebView 控件,該控件運行將 Razor 組件呈現到嵌入式 Web View 中。通過結合使用 .NET MAUI 和 Blazor,可以跨移動設備、桌面設備和 Web 重復使用一組 Web UI 組件。

下面來看下我搭建的測試工程:




文件夾說明:

Data 文件夾:接口或者數據的訪問層。

Pages 文件夾:存放前端頁面razor。

Platforms文件夾:包含的平臺層。這個我理解為可創(chuàng)建和運行的內置平臺層庫。(不知道理解的對嗎?,有不同理解的朋友,可以放在評論區(qū)。)

Resources 資源文件夾,沒啥可說的。

Shared 文件夾: UI共享層。寫過apsx 的可能感覺他是母版頁或者前端框架結構層。

wwwroot 文件夾:發(fā)布資源層。

_Imports.razor 全局控制導入層。


MAUI 數據訪問層到UI層流程

我個人一直認為學習一項技術,最快的辦法,就是先搞懂流程。大的框架掌握了,去接觸細節(jié)。從細節(jié)上完善對流程的認識,才是學好和掌握一項技術的方式和方法。

  1. 流程那我們就看下它的流程咯。。

我們就看它的數據是如何展示出來的:


就看Fetch Data頁面。

打開NavMenu.razor 文件查看他的Href 鏈接



進入pages 查看


可以看到原始頁面是從這里聯過來的。


再看下數據是如何過來的:

		<tbody>
			@foreach (var forecast in forecasts)
			{
				<tr>
					<td>@forecast.Date.ToShortDateString()</td>
					<td>@forecast.TemperatureC</td>
					<td>@forecast.TemperatureF</td>
					<td>@forecast.Summary</td>
				</tr>
			}
		</tbody>

是從forecasts 對象來的。

@code {
	private WeatherForecast[] forecasts;

	protected override async Task OnInitializedAsync()
	{
		forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
	}
}

forecasts 是從
ForecastService.GetForecastAsync 獲取來的.看下方法實現:

        private static readonly string[] Summaries = new[]
        {
        "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
    };

        public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
        {
            return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = startDate.AddDays(index),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            }).ToArray());
        }

ForecastService 里的GetForecastAsync 隨機生成了測試數據返回來數組對象。

總結:



多終端發(fā)布

點擊運行選擇運行平臺:


等待自動生成多終端的應用即可。


下一篇文章:MAUI 做個安卓APP

可以先看些視頻預覽效果:

重播
播放
00:00 / 00:00 直播
00:00
進入全屏
50
    點擊按住可拖動視頻

    熱門課程推薦

    熱門資訊

    請綁定手機號

    x

    同學您好!

    您已成功報名0元試學活動,老師會在第一時間與您取得聯系,請保持電話暢通!
    確定