Использование изолированных образов хранилища в HubTiles - PullRequest
1 голос
/ 09 октября 2011

Я позволяю пользователям брать изображения в моем приложении и сохранять изображения в изолированном хранилище. Я также использую HubTiles в своем приложении, но HubTiles использует Uri в свойстве Source, но не может распознать isostore: / ..... Uris ..

Есть идеи, как я могу решить эту проблему?

1 Ответ

0 голосов
/ 20 октября 2011

Вы не единственный, у кого isostore:/ URI работают не везде, где ожидается URI. Поэтому кажется, что вам нужно выбрать более традиционный подход и загрузить изображение вручную:

    // define data array to hold image data to be read from isolated storage
    byte[] imageBytes;
    using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
    {
        // open image file
        using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("MyPreviouslySavedImage.jpg", FileMode.Open, FileAccess.Read))
        {
            // allocate array large enough to hold the whole file
            imageBytes = new byte[fileStream.Length];

            // read all data to memory
            fileStream.Read(imageBytes, 0, imageBytes.Length);
            fileStream.Close();
        }
    }

    // create memory stream and bitmap
    MemoryStream memoryStream = new MemoryStream(imageBytes);
    BitmapImage bitmapImage = new BitmapImage();

    // memory stream is source of bitmap
    bitmapImage.SetSource(memoryStream);

    // finally assign image to hub tile
    hubTile1.Source = bitmapImage;

Это хорошо работает (если, конечно, в isostore есть изображение).

...