Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Xamarin.IOS中列表的值创建RadioElement列表_Ios_Xamarin_Monotouch.dialog_Radioelement - Fatal编程技术网

通过Xamarin.IOS中列表的值创建RadioElement列表

通过Xamarin.IOS中列表的值创建RadioElement列表,ios,xamarin,monotouch.dialog,radioelement,Ios,Xamarin,Monotouch.dialog,Radioelement,我想通过ArrayList的值创建RadioElement的列表。 假设我有一个列表: System.Collections.Generic.List<MyClass> mylist System.Collections.Generic.List mylist 现在我不想遍历所有元素,为每个人创建一个RadioElement。通过传递列表,是否可以通过MyClass的属性自动创建RadioElements。 当用户选择一个无线电元件时,我如何获得点击事件?Linq到救援: 例如,

我想通过ArrayList的值创建
RadioElement
的列表。 假设我有一个列表:

System.Collections.Generic.List<MyClass> mylist
System.Collections.Generic.List mylist
现在我不想遍历所有元素,为每个人创建一个
RadioElement
。通过传递
列表
,是否可以通过
MyClass
的属性自动创建
RadioElements
。 当用户选择一个
无线电元件时,我如何获得
点击
事件?

Linq到救援:

例如,我使用bool属性
CreateRadioElement
ElementText
字符串属性创建了一个MyClass:

public class MyClass
{
    public bool CreateRadioElement { get; set; }

    public string ElementText { get; set; } 
}
然后我创建了MyClass对象的列表:

List<MyClass> elements = new List<MyClass>();
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "1" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "2" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "3" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "4" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "5" });
现在使用foreach循环执行查询:

foreach (MyClass mc in radioelementsQuery)
{
      Console.WriteLine("Element: {0}", mc.ElementText);
}
您将在控制台输出中只看到1、3和5。当然,您可以将每个元素分配给RadioElement,而不是写入控制台。

Linq到救援:

例如,我使用bool属性
CreateRadioElement
ElementText
字符串属性创建了一个MyClass:

public class MyClass
{
    public bool CreateRadioElement { get; set; }

    public string ElementText { get; set; } 
}
然后我创建了MyClass对象的列表:

List<MyClass> elements = new List<MyClass>();
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "1" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "2" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "3" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "4" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "5" });
现在使用foreach循环执行查询:

foreach (MyClass mc in radioelementsQuery)
{
      Console.WriteLine("Element: {0}", mc.ElementText);
}

您将在控制台输出中只看到1、3和5。当然,您可以将每个元素分配给RadioElement,而不是写入控制台。

我知道如何创建一个包含值的列表,并对其进行筛选等。我的问题是关于您答案的最后一部分。你说我必须遍历所有的值并为每个值创建一个radioElement?有没有办法将列表绑定为源,以便Xamarin自动创建radioElements?据我所知,Monotouch.Dialog没有绑定机制。请注意,Xamarin不再主动支持Monotouch.Dialog,尽管它是开源的。您可能想使用Xamarin.Forms,它有一个内置的绑定机制。我知道如何创建一个包含值的列表,过滤它等等。我的问题是关于您答案的最后一部分。你说我必须遍历所有的值并为每个值创建一个radioElement?有没有办法将列表绑定为源,以便Xamarin自动创建radioElements?据我所知,Monotouch.Dialog没有绑定机制。请注意,Xamarin不再主动支持Monotouch.Dialog,尽管它是开源的。您可能希望使用具有内置绑定机制的Xamarin.Forms。