C# 。Net MAUI应用用Shell控件xmlns:local加载多个命名空间
时间: 2024-09-24 17:08:40 浏览: 69
C# .NET MAUI (Microsoft Xamarin.Forms) 应用程序中,Shell 控件是一种架构组件,用于提供应用程序的统一界面和导航模式。当你在 Shell 的 `<Shell>` 元素上设置 `xmlns:local` 属性并引用多个本地命名空间时,它允许你组织相关的视图模型、页面和其他本地资源,使得项目结构清晰。
例如:
```xml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:YourNamespace1;assembly=YourAssembly1"
xmlns:otherNamespace="clr-namespace:YourNamespace2;assembly=YourAssembly2"
x:Class="YourApp.Pages.MainPage">
<!-- Your content here -->
<Shell.Root>
<ShellItem Icon="ic_home.png" Title="首页">
<ShellContent ContentPageType="{local:Type HomePageViewModel}" />
</ShellItem>
<ShellItem Icon="ic_search.png" Title="搜索">
<ShellContent ContentPageType="{otherNamespace:Type SearchPageViewModel}" />
</ShellItem>
</Shell.Root>
</ContentPage>
```
在这里,`xmlns:local` 和 `xmlns:otherNamespace` 分别指向了两个不同的命名空间,`{local:Type HomePageViewModel}` 和 `{otherNamespace:Type SearchPageViewModel}` 就会从相应的命名空间找到对应的 ViewModel 类作为内容页的数据来源。
阅读全文