.Net Maui ContentPage檔案提供了一個 XAML 示例。但沒有 c# 示例。
如何僅使用 c# 創建 ContentPage?
uj5u.com熱心網友回復:
tl;博士
- 這個概念是“c#標記”。
- 入門:右鍵單擊專案-> 添加 -> 新專案 -> .NET MAUI->
.NET MAUI ContentPage (C#)或.NET MAUI ContentView (C#). - 如果 Maui 檔案(還)沒有您需要的資訊,請在谷歌
xamarin forms SomeUIElement class上搜索SomeUIElementAPI。
Maui“API”檔案還沒有(目前只有一個頁面對每個類進行“高級”解釋),因此可以通過搜索相應的 Xamarin Forms 類找到更多資訊。
谷歌xamarin forms contentpage class查找:
Xamarin.Forms/ContentPage 類。
在那里,我們看到了 c# 示例:
using System;
using Xamarin.Forms;
namespace ContentPageExample
{
public class App : Application
{
public static Page GetMainPage ()
{
return new ContentPage {
Content = new Label {
Text = "Hello, Forms!",
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand,
},
};
}
public App ()
{
MainPage = GetMainPage();
}
}
}
毛伊島的App細節可能略有不同;我們關心的這段代碼的一部分是:
return new ContentPage {
Content = new Label {
Text = "Hello, Forms!",
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand,
},
};
這在毛伊島按原樣作業。(編譯器警告LayoutOptions.CenterAndExpand已棄用;但討論超出了此答案的范圍。)
可重復使用的視圖
如果要在 xaml 或代碼中的其他位置參考 UI 元素,請定義現有 UI 元素的子類。
感謝 Paramjit 指出第一步是將適當的專案添加到專案中。對于ContentPage,即:
右鍵單擊專案-> 添加-> 新專案-> .NET MAUI->
.NET MAUI ContentPage (C#)
對于ContentView(如下),該步驟是:
右鍵單擊專案-> 添加-> 新專案-> .NET MAUI->
.NET MAUI ContentView (C#)
源檔案 MyContentView.cs:
namespace MyViews
{
public class MyContentView : ContentView
{
public MyContentView {
//NO "InitializeComponent()" because doing it all in c#.
Content = new Label {
Text = "Hello, Maui!"
}
}
}
}
XAML 中的用法:
<SomeClass ...
xmlns:myviews="clr-namespace:MyViews"
...>
...
<myviews:MyContentView ... />
</SomeClass>
在 c# 中作為 c# 標記的一部分的用法:
using MyViews;
...
var page = new ContentPage {
Content = new MyContentView()
}
先進的
子類化ContentView是在 Maui 中制作“自定義控制元件”的一種方式。
要定義自定義屬性,請閱讀“自定義視圖”和“BindableProperties”。(我目前沒有具體的鏈接可以推薦。請隨意添加此類鏈接作為評論。)
更高級的方法是創建自定義處理程式。
請參閱創建 .NET MAUI 地圖控制元件。
更多資訊
在 c# 中定義 UI 元素稱為“c# 標記”。
請參閱為 Xamarin.Forms 介紹 C# 標記。
和Xamarin 社區工具包 C# 標記。注意:這里提到的 Nuget不再需要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/482836.html
下一篇:如何讓我的敵人追逐我的玩家?
