gpt4 book ai didi

c# - 元素总是向模型返回 null

转载 作者:太空宇宙 更新时间:2023-11-03 14:45:11 26 4
gpt4 key购买 nike

我正在使用 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;
}
}

发生这种情况有什么原因吗?

最佳答案

我的直觉是它不起作用的原因是您使用 Items 属性将数据填充到选择器中我建议您使用 ItemsSource 方法(推荐)。

如果您检查 Xamarin Picker documents :

There are two techniques for populating a Picker with data:

Setting the ItemsSource property to the data to be displayed. This is the recommended technique, which was introduced in Xamarin.Forms 2.3.4. For more information, see Setting a Picker's ItemsSource Property.

Adding the data to be displayed to the Items collection. This technique was the original process for populating a Picker with data. For more information, see Adding Data to a Picker's Items Collection.

然后将字符串列表添加到您的选择器中,如下所示:

drawingToolsPicker.ItemsSource= new string[] { "Polygon", "Text" };

关于c# - 元素总是向模型返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54628766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com