在自己的设备上调试 xamarin 项目时部分 UI 消失

问题描述

我正在构建一个应用程序,并且当我使用模拟器时调试工作正常,并且一切看起来都是我想要的。 因为我使用的是条形码扫描仪,所以我开始在我自己的 android 设备上进行调试,但随后我在其中一个页面中的大部分 UI 消失了。 (见图片

我在谷歌时找不到任何类似的问题(尽管这可能是我的谷歌技能不佳)。 Here is on my device when its all vanished

Here is what it is suppose to look like

<?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="TergeoAppUI.Views.RegisterInventoryPage"
             xmlns:vm="clr-namespace:TergeoAppUI.viewmodels" 
             xmlns:ZXing="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms" xmlns:model="clr-namespace:Tergeo.Models;assembly=Tergeo.Models"
             x:DataType="vm:RegisterInventoryviewmodel"
             Title="{Binding Title}">
    <StackLayout>

        <Grid Padding="0,5,0" ColumnSpacing="2">
            <Grid.RowDeFinitions>
                <RowDeFinition Height="Auto"/>
                <RowDeFinition Height="*"/>
            </Grid.RowDeFinitions>
            <Grid.ColumnDeFinitions>
                <ColumnDeFinition Width="Auto"/>
                <ColumnDeFinition Width="*"/>
            </Grid.ColumnDeFinitions>

            <Button
                ImageSource="barcode.png"
                Text="Scanna"
                BackgroundColor="#AAC0AA"
                BorderColor="Black"
                BorderWidth="3"
                HeightRequest="200"
                Grid.Row="1"
                Grid.Column="2" 
                Grid.RowSpan="1"
                Margin="70,10,10" 
                Command="{Binding GoToScanCommand}"
                />


            <Entry
            Grid.Row="1"
            Grid.ColumnSpan="3"
            Margin="20,30,160,5"
            Placeholder="EAN,PLU..."
            VerticalOptions="FillAndExpand"
                 Completed="{Binding OnEanEntryCompletionCommand}"
                Text="{Binding Ean}"
            Keyboard="Numeric"
                />
        </Grid>


        <Label Margin="30,2" FontSize="Medium" Text="{Binding ArticleName}"/>

        <StackLayout HeightRequest="200">
            <Grid Padding="2" VerticalOptions="Fill" >
                <Grid.RowDeFinitions>
                    <RowDeFinition Height="Auto"/>
                    <RowDeFinition Height="*"/>
                </Grid.RowDeFinitions>
                <Grid.ColumnDeFinitions>
                    <ColumnDeFinition Width="Auto"/>
                    <ColumnDeFinition Width="*"/>
                </Grid.ColumnDeFinitions>

                <Label 
                     Grid.Row="1" 
                    Margin="30,2"
                    FontSize="Medium" 
                    Text="{Binding RetailPrice,StringFormat='Utpris: {0:N}'}"/>
                <Entry 
                    Placeholder="Antal"
                    Grid.Row="2" 
                    Grid.ColumnSpan="2"
                    Grid.Column='0'
                    Margin="20,20,0"
                    FontSize="Medium" 
                    Text="{Binding Quantity,StringFormat='Antal: {0:N}'}"/>


                <Entry 
                    Grid.ColumnSpan="2"
                    Margin="0,0"
                    Placeholder="Låda"
                    Grid.Row="2" 
                    Grid.Column="2"
                    FontSize="Medium" 
                    Text="{Binding Box,StringFormat='Låda: {0:S}'}"
                    Completed="{Binding OnRegistrationCompletedCommand}"/>
            </Grid>
        </StackLayout>

        <!-- List with all the inventoryregistration for this specific list -->
        
        <ListView 
            BackgroundColor="White"
              ItemsSource="{Binding InventoryList}"
              HasUnevenRows="True"
              SelectionMode="None"
            >

            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <Grid Padding="1" ColumnSpacing="1">
                            <Grid.RowDeFinitions>
                                <RowDeFinition Height="Auto"/>
                                <RowDeFinition Height="*"/>
                            </Grid.RowDeFinitions>
                            <Grid.ColumnDeFinitions>
                                <ColumnDeFinition Width="Auto"/>
                                <ColumnDeFinition Width="*"/>
                            </Grid.ColumnDeFinitions>
                            <!-- ArticleName --> 
                            <StackLayout 
                                Padding="10,0"
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="0"
                                Grid.Row="0">
                                <Label 
                                TextColor="Black" 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Text="{Binding ArticleName}"
                                FontSize="Small"/>
                            </StackLayout>
                            <!-- Article supplier -->
                            <StackLayout 
                                Padding="10,0"
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="1"
                                Grid.Row="0"
                                Grid.ColumnSpan="2">
                                
                                <Label 
                                TextColor="Black" 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Text="{Binding supplier}"
                                FontSize="Small"/>
                            </StackLayout>
                            <!-- Article Ean -->
                            
                            <StackLayout 
                                Padding="10,0" 
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="0"
                                Grid.Row="1">
                                <Label 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Margin="0,5" 
                                Text="{Binding Ean}"
                                FontSize="Small"/>
                            </StackLayout>

                            <StackLayout 
                                Padding="10,5" 
                                Text="{Binding Plu}"
                                FontSize="Small"/>
                            </StackLayout>

                            <StackLayout 
                                Padding="10,0"
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="1"
                                Grid.Row="1"
                                Grid.ColumnSpan="2">
                                <Label 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Margin="0,5" 
                                Text="{Binding Quantity,StringFormat='Antal: {0:N}'}"
                                FontSize="Small"/>
                            </StackLayout>

                            <StackLayout 
                                Padding="10,0"
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="4"
                                Grid.Row="0"
                                Grid.ColumnSpan="2">

                                <Label 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Margin="0,5" 
                                Text="{Binding Box,StringFormat='Låda: {0:S}'}"
                                FontSize="Small"/>
                                </StackLayout>

                            <StackLayout 
                                Padding="10,0"
                                x:DataType="model:InventoryInfoModel" 
                                Grid.Column="4"
                                Grid.Row="1"
                                Grid.ColumnSpan="2">

                                <Label 
                                FontFamily="PTC55F.ttf#ptc55f"
                                Margin="0,5" 
                                Text="{Binding StorageName,StringFormat='Hyllplats: {0:S}'}"
                                FontSize="Small"/>

                            </StackLayout>
                        </Grid>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>

        </ListView>

    </StackLayout>

</ContentPage> 

解决方法

容易修复,当您在 android 设备上调试时,显然所有文本的默认颜色都是白色,所以我所做的只是将 PlaceholderColor 或 textcolor 添加到所有标签/条目。