0

画像とテキストをバインドするリストボックスがあります。15 個の項目を追加しても問題ありませんが、20 個以上の項目を追加すると System.IndexOutOfRangeException が発生します。リストボックスが32kbしか保存できない場所を見つけたので、リストビューを使用しようとすると、同じSystem.IndexOutOfRangeExceptionが発生します。ObservableCollection を使用すると、ここでオーバーフローする可能性があります。または、System.IndexOutOfRangeException が発生する理由を誰かが知っていますか? アイテムがリストボックスに追加されているときに、この例外が発生します。

    private ObservableCollection<BindingData> _rsMessages = new ObservableCollection<BindingData>();
    public ObservableCollection<BindingData> RSMessages
    {
        get { return _rsMessages; }
        set { _rsMessages = value; }
    }

public void initializeListboxRS()
    {
        foreach (var items in UniDB.returnListOfRSItems())
        {
            _rsMessages.Add(new BindingData
            {
                rssMessageText = items.tile,
                rssMessageDateTime = items.dateTime.ToString("dd.MM.yyyy - hh:mm"),
                rssMessageImage = ByteArrayToBitmapImage(items.image),
                rssMessageLink = items.link
            });
            OnPropertyChanged("RSMessages");
        }
    }


 private BitmapImage ByteArrayToBitmapImage(byte[] byteArray)
    {

        BitmapImage bitmapImage = new BitmapImage();
        InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream();
        ms.WriteAsync(byteArray.AsBuffer());  //exception here
        ms.FlushAsync().AsTask().Wait();
        ms.Seek(0);
        bitmapImage.SetSource(ms);
        return bitmapImage;
    }
4

1 に答える 1