【问题标题】:Xamarin Forms variable initializationXamarin Forms 变量初始化
【发布时间】:2018-09-04 19:35:06
【问题描述】:

我刚开始使用 Xamarin Forms,但有些奇怪,我无法理解 我想使用 CarouselView 控件并将名称列表设置为 ItemsSource

每次我将它部署到手机上时,当我调试它时,我都会得到错误索引超出范围 - 我看到名称列表从未初始化过,尽管我清楚地这样做了。

这可能是一些菜鸟的错误,但请帮助我。

应用使用.NET标准2.0,部署到魅族m3 note(Android 5.1)

XAML 文件:

<ContentPage
    x:Class="GMS.MainPage"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:cv="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.CarouselView"
    xmlns:forms="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.CarouselView"
    xmlns:local="clr-namespace:GMS">


    <StackLayout>
        <Label
            Margin="20"
            FontSize="50"
            Text="CarouselView"
            TextColor="Black" />

        <forms:CarouselView x:Name="CarouselView">
            <forms:CarouselView.ItemTemplate>
                <DataTemplate>
                    <Label FontSize="60" Text="{Binding .}" />
                </DataTemplate>
            </forms:CarouselView.ItemTemplate>
        </forms:CarouselView>
    </StackLayout>


</ContentPage>

当我尝试在 OnAppearing() 中执行此操作时也是如此:

当我在初始化后放代码时:

【问题讨论】:

  • 你应该在 InitializeComponent() 之后分配 ItemSource;
  • @nirmalsubedi 我也试过了,结果一样
  • 您也可以发布您的 XAML。
  • 我试过了,你的代码完全相同!!!您是否尝试过清除您的项目,删除 Bin/Obj 文件夹,然后重新启动 Visual Studio。有时它会这样工作。因为我复制粘贴了你的代码,它工作正常。
  • 我无法运行 android 5.1 但在较新的 android 版本上完全相同。我使用 android 8.1 进行了测试。所以看看你是否可以在新版本中运行。

标签: .net variables xamarin xamarin.forms initialization


【解决方案1】:

感谢@NirmalSubedi 的回答 原因是我的手机有 Android 5.1,当我在模拟器 Android 8.1 上运行它时 - 很好

【讨论】:

    猜你喜欢
    • 2020-01-11
    • 2018-05-30
    • 2019-05-17
    • 2021-07-08
    • 2012-06-15
    • 2012-10-19
    • 2016-11-03
    • 2017-03-20
    • 2016-07-31
    相关资源
    最近更新 更多