在我的Windows Phone应用中,我覆盖OnNavigatedTo
方法以填充RadListPicker
一些信息。我有两个数组:一个是大小为n的预填充DateTime数组,第二个是大小为n的预填充字符串数组。我想将这两个数组分配给RadListPicker
,这样字符串数组就是显示的内容,即用户看到的选项,以及DateTimeArray是RadListPicker.SelectedValue返回的内容。
当我以这种方式尝试时,我得到了一个调试器中断
private void ShowResults(DateTime[] arrayDateTime, string[] arrayString, timeTypeEnum timeType)
{
radListPicker.ItemsSource = arrayString;
radListPicker.SelectedValue = arrayDateTime;
radListPicker.SelectedIndex = 4;
}
我该如何解决这个问题?
答案 0 :(得分:0)
奇怪的是,此值arrayDateTime
是DateTime[] Array
,因此您需要选择ItemIndex或某些序数值,例如
radListPicker.SelectedValue = arrayDateTime[radListPicker.SelectedItemIndex];
答案 1 :(得分:0)
你在这里混合类型。首先,您将类型字符串的项填充到列表选择器。然后,稍后您告诉列表选择器选择DateTime类型的值。您需要确保两个数组包含相同的类型(例如,两个带有字符串对象的数组或两个带有DateTime对象的数组)。
在Google上进行快速搜索我发现所选项目的设置也可以使用
完成radListPicker.SelectedItems.Add();
因此,在您的情况下,当两个数组都具有相同类型的元素时,您可以使用:
private void ShowResults(DateTime[] selectedItems, DateTime[] allItems, timeTypeEnum timeType)
{
radListPicker.ItemsSource = allItems;
for (var item in selectedItems)
radListPicker.SelectedItems.Add(item);
}