微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在特定视图部分崩溃

如何解决在特定视图部分崩溃

目前我一直在研究这个视图,学到了很多东西,但被困住了一段时间。当我添加注释代码部分时,此屏幕(视图)崩溃,我不知道为什么,但我需要它,因为它是视图的一个组件。

Documentos.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" 
             xmlns:viewmodels="clr-namespace:AppQ4evo.Models"
             x:Class="AppQ4evo.Views.Documentos" 
             BackgroundColor="White">

    <ContentPage.BindingContext>
        <viewmodels:DocumentsBindingModel />
    </ContentPage.BindingContext>

    <ContentPage.toolbaritems>
        <ToolbarItem x:Name="iconAttach" Order="Primary" Icon="attach.png" Priority="-1" />
    </ContentPage.toolbaritems>

    <ContentPage.Content>
        <AbsoluteLayout Padding="0" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <StackLayout>
                <Grid x:Name="docs" Padding="-2" BackgroundColor="Aquamarine">
                    <Grid.RowDeFinitions>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto"/>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                    </Grid.RowDeFinitions>

                    <StackLayout Grid.Row="0" Margin="10,20">
                        <Label Text="Data Documento: "/>
                        <Label Text="Número externo: "/>
                        <Label Text="Fornecedor: "/>
                    </StackLayout>

                    <StackLayout Grid.Row="1" Margin="0,-10">
                        <Button x:Name="btnAdd" Text="Adicionar" Clicked="btnAddPopup_Clicked" />
                    </StackLayout>

                    <!--
                    <Grid x:Name="ListViewHeaders" Grid.Row="2" Margin="0,20,0">
                        <Grid.RowDeFinitions>
                            <RowDeFinition Height="40"/>
                            <RowDeFinition Height="Auto"/>
                        </Grid.RowDeFinitions>
                        <Grid.ColumnDeFinitions>
                            <ColumnDeFinition Width="*"/>
                            <ColumnDeFinition Width="60" />
                            <ColumnDeFinition Width="65" />
                            <ColumnDeFinition Width="80" />
                            <ColumnDeFinition Width="25" />
                            <ColumnDeFinition Width="60" />
                        </Grid.ColumnDeFinitions>
                        <BoxView Color="Black" Grid.Row="0" Grid.ColumnSpan="8" HeightRequest="0.5" />
                        <BoxView Color="DimGray"  Grid.Row="0" Grid.ColumnSpan="8" />
                        <Label Grid.Column="1" Text="Produto" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                        <Label Grid.Column="2" Text="Descrição" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                        <Label Grid.Column="3" Text="Observação" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                        <Label Grid.Column="4" Text="Qtd" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                        <Label Grid.Column="5" Text="Valor Unitário" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                        <Label Grid.Column="6" Text="IVA" XAlign="Center" YAlign="Center" TextColor="White" FontAttributes="Bold" FontSize="Small"/>
                    </Grid>
                    <AbsoluteLayout x:Name="absLayout" Grid.Row="2" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                        <ListView x:Name="DocumentsList" ItemsSource="{Binding DocumentosList}" HasUnevenRows="True" Margin="0,60" BackgroundColor="White" 
                        HeightRequest="{Binding Path=Height,Source={x:Reference absLayout}}" WidthRequest="{Binding Path=Width,Source={x:Reference absLayout}}">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ViewCell>
                                        <ViewCell.View>
                                            <Grid>
                                                <Grid.RowDeFinitions>
                                                    <RowDeFinition Height="30"></RowDeFinition>
                                                </Grid.RowDeFinitions>
                                                <Grid.ColumnDeFinitions>
                                                    <ColumnDeFinition Width="30"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="50"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="70"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="80"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="30"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="50"></ColumnDeFinition>
                                                    <ColumnDeFinition Width="45"></ColumnDeFinition>
                                                </Grid.ColumnDeFinitions>
                                                <Label Grid.Row="0" Grid.Column="1" Text="{Binding Produto}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                                <Label Grid.Row="0" Grid.Column="2" Text="{Binding Descricao}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                                <Label Grid.Row="0" Grid.Column="3" Text="{Binding Observacao}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                                <Label Grid.Row="0" Grid.Column="4" Text="{Binding Quantidade}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                                <Label Grid.Row="0" Grid.Column="5" Text="{Binding ValorUnitario}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                                <Label Grid.Row="0" Grid.Column="6" Text="{Binding Iva}" XAlign="Center" YAlign="Center" TextColor="Black" FontAttributes="Bold"/>
                                            </Grid>
                                        </ViewCell.View>
                                    </ViewCell>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </AbsoluteLayout>
                    -->
                </Grid>
            </StackLayout>
            <ContentView x:Name="popupAddDocumentView" BackgroundColor="Yellow" Margin="40,120" Padding="10,0" IsVisible="false" >
                <StackLayout VerticalOptions="Center" HorizontalOptions="Center">
                    <StackLayout Orientation="Vertical" HeightRequest="400" WidthRequest="300" BackgroundColor="Gray">
                        <Image HorizontalOptions="End" Source="close.png" HeightRequest="20" WidthRequest="20">
                            <Image.GestureRecognizers>
                                <TapGestureRecognizer Tapped="OnImageNaMetapped_ClosePopup" NumberOfTapsrequired="1" />
                            </Image.GestureRecognizers>
                        </Image>
                        <Entry x:Name="ProdutoEntry" Margin="20,0" Placeholder="Introduza o produto" />
                        <Entry x:Name="DescricaoEntry" Margin="20,0" Placeholder="Introduza a descrição" />
                        <Entry x:Name="ObservacaoEntry" Margin="20,0" Placeholder="Introduza a observação" />
                        <Entry x:Name="QuantidadeEntry" Margin="20,0" Placeholder="Introduza a quantidade" />
                        <Entry x:Name="ValorUnitarioEntry" Margin="20,0" Placeholder="Introduza o valor" />
                        <Entry x:Name="IvaEntry" Margin="20,0" Placeholder="Introduza o IVA" />
                        <Button x:Name="btnAddDocument" Margin="20,0" Clicked="btnAddDocument_Clicked" Text="Adicionar" />
                    </StackLayout>
                </StackLayout>
            </ContentView>
        </AbsoluteLayout>
    </ContentPage.Content>
</ContentPage> 

Documentos.xaml.cs 代码

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

namespace AppQ4evo.Views
{
    [XamlCompilation(XamlCompilationoptions.Compile)]
    public partial class Documentos : ContentPage
    {

        DocumentsBindingModel documents;

        public Documentos()
        {
            InitializeComponent();
            documents = new DocumentsBindingModel();
        }

        private void btnAddPopup_Clicked(object sender,EventArgs e)
        {
            Console.WriteLine("Olá Tren");
            popupAddDocumentView.IsVisible = true;
        }

        private void OnImageNaMetapped_ClosePopup(object sender,EventArgs e)
        {
            try
            {
                popupAddDocumentView.IsVisible = false;
            }
            catch (Exception ex)
            {

            }
        }

        private void btnAddDocument_Clicked(object sender,EventArgs e)
        {
            popupAddDocumentView.IsVisible = false;
            DocumentosModel documentosBindingModel = new DocumentosModel() { Produto = ProdutoEntry.Text };
            documents.DocumentosList.Add(documentosBindingModel);

            BindingContext = documents;
            //DocumentsList.IsRefreshing = false;
        }
    }
}

有没有办法知道是什么导致了它以及如何解决它?因为遇到这样的问题,我不知道该怎么办。

我对某些部分进行了评论,并单独显示了它们,但是当我取消对所有内容的注释以使其正常工作时,感觉它在应用程序上付出了很多努力并且崩溃了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。