我遇到了一个我正在填写的LisBox的问题,当我点击一个项目时它会给我错误
“价值不在预期范围内。”
当我在得到所选值的行上放置一个断点时,它表示它的值为null,我之前在xaml中静态地声明了列表项,并且它没有问题。
能帮助我吗?
private void listbox_tapped(object sender, TappedRoutedEventArgs e)
{
ListBoxItem selected = (lbLetter.SelectedValue as ListBoxItem);
int listitem = lbLetter.SelectedIndex;
if (lbLetter.Items.Count != 0)
{
lbWord.Items.Add(selected);
}
}
private void RandomizeListbox()
{
List<char> values = new List<char>();
for (int i = 0; i<=MAXLETTERS; i++)
{
values.Add(RandomLetter());
}
lbLetter.ItemsSource = values;
}
public static char RandomLetter()
{
return alphabet[random.Next(alphabet.Length)];
}
答案 0 :(得分:1)
可能会发生这种情况,因为char数组中有几个相同的值。 试试这个:
for (int i = 0; i <= MAXLETTERS; i++)
{
var c = RandomLetter();
if(!values.Contains(c))
values.Add(c);
}
答案 1 :(得分:0)
如果不进行测试,我可以向您保证以下行不正确:
ListBoxItem selected = (lbLetter.SelectedValue as ListBoxItem);
SelectedValue属性不返回ListBoxItem对象,它返回一个字符串。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.primitives.selector.selectedvalue.aspx。