0

記入中の 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)];
    }
4

2 に答える 2

1

これは、char 配列に同じ値が複数あるために発生する可能性があります。これを試して:

for (int i = 0; i <= MAXLETTERS; i++)
{
    var c = RandomLetter();
    if(!values.Contains(c))
        values.Add(c);
}
于 2012-11-10T16:21:47.447 に答える
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を参照してください。

于 2012-11-12T12:00:59.460 に答える