元素总是返回null模型

问题描述 投票:2回答:1

我与Xamarin构建应用程序,目前我正在一个多标签页的工作。我在Android测试此。

每次我创建一个元素,并尝试查看我的模型对象有null值。

我有一个选择器,其定义如下:

<Picker Margin="10,0,10,0" x:Name="drawingToolsPicker" Title="Select a Drawing Tool" SelectedIndexChanged="drawingToolChanged">
    <Picker.Items>
        <x:String>Polygon</x:String>
        <x:String>Text</x:String>
    </Picker.Items>
</Picker>

在我的模型代码中,我试图通过使用“drawingToolsPicker”对象访问此。但它始终是返回null,代码访问该对象是以下:

 public void drawingToolChanged(object sender, EventArgs e)
 {

 System.Console.WriteLine((string)drawingToolsPicker.SelectedItem);
        //Always returns null, if I add a null check guard it won't reach this ever.

        if ((string)drawingToolsPicker.SelectedItem == "Polygon")
        {
            paint.Style = SKPaintStyle.Stroke;
            paint.Color = SKColors.Red;
            paint.StrokeWidth = 5;
        }
 }

是否有任何理由为什么发生这种情况?

c# xamarin xamarin.forms xamarin.android
1个回答
0
投票

我的直觉是,它不工作的原因是您正在使用的物品属性,我建议你使用它的ItemsSource方法(推荐)填充数据到选择器。

如果检查Xamarin Picker documents

有两种技术用于用数据选择器:

设置ItemsSource属性来对数据进行显示。这是推荐的技术,这是在Xamarin.Forms 2.3.4介绍。欲了解更多信息,请参阅设置选择器的ItemsSource属性。

添加的数据显示给项目集合。这种技术是用于用数据选择器原工艺。欲了解更多信息,请参阅将数据添加一个选择器的项目集合。

然后字符串列表添加到您的选择器类似下面:

drawingToolsPicker.ItemsSource= new string[] { "Polygon", "Text" };
© www.soinside.com 2019 - 2024. All rights reserved.