You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET MAUI的GridView中集成SideView?

问题分析与解决方案

你的实现方式不正确,核心问题出在SideView的类型上:

你把SideView定义成了ContentPage,但在.NET MAUI中,ContentPage是独立页面的根元素,不能作为子控件嵌套在另一个页面的布局容器(比如Grid)里,这就是功能无法正常运行的原因。

正确修改步骤:

  1. 将SideView改为ContentView类型
    ContentView是MAUI中专门用于复用的子视图容器,适合作为其他布局的子控件。修改后的SideView XAML代码如下:
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="GridDemo.View.SideView">
    <VerticalStackLayout>
        <Label 
            Text="Welcome to .NET MAUI!"
            VerticalOptions="Center" 
            HorizontalOptions="Center" />
    </VerticalStackLayout>
</ContentView>

同时要修改SideView的后台代码(如果存在),将继承类从ContentPage改为ContentView:

namespace GridDemo.View;

public partial class SideView : ContentView
{
    public SideView()
    {
        InitializeComponent();
    }
}
  1. GridView代码无需修改
    你原来的GridView中添加命名空间、在Grid里引用<v:SideView>的写法是正确的,修改完SideView的类型后,就能正常显示了。

额外说明:

如果SideView需要同时作为独立页面使用,你可以单独创建一个ContentPage来承载这个SideView,比如:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:v="clr-namespace:GridDemo.View"
             x:Class="GridDemo.View.SideViewPage"
             Title="SideView">
    <v:SideView />
</ContentPage>

这样既能在GridView的Grid中复用SideView,也能通过导航打开独立的SideViewPage页面。

内容的提问来源于stack exchange,提问作者Preeti Jadhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:55:42