Xamarin 上的空白屏幕

Blank screen on Xamarin

我有一个 Xamarin 可移植项目。
我调试的 Xaml 页面完全空白,我在 Android 和 IOS.

的页面上都看不到任何组件

我该如何解决这个问题?

注意:它没有收到任何错误消息,页面正在打开,但我看不到任何内容。
问题发生在之后。当我修复它时,我调试的页面变成空的,
尽管他们在 InitializeComponent 错误之前工作。

如有任何帮助,我们将不胜感激。

这是我的 xaml :

<?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="AcikAkademi3.Layoutlar.GridOrnek3">

<Grid>
  <Grid.RowDefinitions>  
    <RowDefinition Height="*"></RowDefinition>
    <RowDefinition Height="*"></RowDefinition>
  </Grid.RowDefinitions>

  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="Auto"></ColumnDefinition>
  </Grid.ColumnDefinitions>

  <Label BackgroundColor="Red" Text="0,0" Grid.Column="0" Grid.Row="0">
  </Label>
  <Label BackgroundColor="Blue" Text="1,0" Grid.Column="1" Grid.Row="0">
  </Label>
  <Label BackgroundColor="Yellow" Text="Açık Akademi" Grid.Column="2" Grid.Row="0"></Label>

  <Label BackgroundColor="White" Text="0,1" Grid.Column="0" Grid.Row="1">
  </Label>
  <Label BackgroundColor="Silver" Text="1,1" Grid.Column="1" Grid.Row="1">
  </Label>
  <Label BackgroundColor="Lime" Text="2,1" Grid.Column="2" Grid.Row="1">
  </Label>

</Grid>
</ContentPage>

这是我的 CS :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace AcikAkademi3.Layoutlar
{
    public partial class GridOrnek3 : ContentPage
    {
        public GridOrnek3()
        {
            Padding = new Thickness(0, 20, 0, 0);
        }
    }
}

App.cs :

using AcikAkademi3.Layoutlar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;

namespace AcikAkademi3
{
    public class App : Application
    {
        public App()
        {
            MainPage = new GridOrnek3();
        }

        protected override void OnStart()
        {
        }

        protected override void OnSleep()
        {
        }

        protected override void OnResume()
        {
        }
    }
}

您应该在 ctor 中调用 InitializeComponent()。 否则 UI 元素将不会从 xaml 文件初始化。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace AcikAkademi3.Layoutlar
{
    public partial class GridOrnek3 : ContentPage
    {
        public GridOrnek3()
        {
            InitializeComponent();
            Padding = new Thickness(0, 20, 0, 0);
        }
    }
}

好的, xaml 文件

中似乎有错误
<Label BackgroundColor="Brown" Text="0,1" Grid.Column="0" Grid.Row="1">
  </Label>

没有棕色,尝试选择this table

这对我有用

<Grid>
  <Grid.RowDefinitions>  
    <RowDefinition Height="*"/>
    <RowDefinition Height="*"/>
  </Grid.RowDefinitions>

  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="Auto"/>
  </Grid.ColumnDefinitions>

  <Label    Grid.Column="0" 
            Grid.Row="0"
            BackgroundColor="Red" 
            Text="0,0" />

  <Label    Grid.Column="1" 
            Grid.Row="0"
            BackgroundColor="Blue" 
            Text="1,0" />

  <Label    Grid.Column="2" 
            Grid.Row="0"
            BackgroundColor="Yellow" 
            Text="Açık Akademi"/>

  <Label    Grid.Column="0" 
            Grid.Row="1"
            BackgroundColor="Olive" 
            Text="0,1" />

  <Label    Grid.Column="1" 
            Grid.Row="1"
            BackgroundColor="Silver" 
            Text="1,1" />

  <Label    Grid.Column="2" 
            Grid.Row="1"
            BackgroundColor="Lime" 
            Text="2,1" />

</Grid>

事实上,似乎需要 InitializeComponent 行。