Имея разрыв строки в списке Windows Phone 7 - PullRequest
0 голосов
/ 23 июня 2011

Привет! В настоящее время я получаю несколько изображений из изолированного хранилища. Когда я получаю изображение в listbox1, все изображения соединяются одно за другим, возможно ли иметь разрыв строки между каждым изображением? Ниже будет мой код восстановления и сохранения кода изображения в изолированном хранилище и из него.

Сохранить код:

    private void SaveToLocalStorage(string imageFolder, string imageFileName)
    {
        imageFileName = App.imagePath;

        var isf = IsolatedStorageFile.GetUserStoreForApplication();
        if (!isf.DirectoryExists(imageFolder))
        {
            isf.CreateDirectory(imageFolder);
        }

        string filePath = Path.Combine(imageFolder, imageFileName);
        using (var stream = isf.CreateFile(filePath))
        {
            var bmp = new WriteableBitmap(inkCanvas, inkCanvas.RenderTransform);
            bmp.SaveJpeg(stream, bmp.PixelWidth, bmp.PixelHeight, 0, 100);
        }
        MessageBox.Show(filePath            }

Получить код:

private void LoadFromLocalStorage(string imageFolder)
{
    var isoFile = IsolatedStorageFile.GetUserStoreForApplication();

    // Check if directory exists
    if(!isoFile.DirectoryExists(imageFolder))
    {
        throw new Exception("Image directory not found");
    }

    // Clear listbox
    listBox1.Items.Clear();

    // Get files
    foreach(string fileName in isoFile.GetFileNames())
    {
        string filePath = Path.Combine(imageFolder, fileName);
        using(var imageStream = isoFile.OpenFile(filePath, FileMode.Open, FileAccess.Read))
        {
            var imageSource = PictureDecoder.DecodeJpeg(imageStream);

            BitmapImage bi = new BitmapImage();

            ListBoxItem item = new ListBoxItem();
            bi.SetSource(imageStream);
            item.Content = new Image() { Source = bi, MaxHeight = 100, MaxWidth = 100 };
            listBox1.Items.Add(item);
        }
    }
}

Может кто-нибудь помочь мне с тем, как мне сделать разрыв строки в listbox1. Ценю всю вашу помощь.

1 Ответ

2 голосов
/ 23 июня 2011

Разрыв строки здесь не подходит, так как вы не разбиваете текст.

Я предполагаю, что вам действительно нужно пространство между элементами.Для этого вы должны будете использовать поле.
Что-то вроде:

item.Content = new Image 
                   { 
                       Source = bi,
                       MaxHeight = 100,
                       MaxWidth = 100,
                       Margin = new Thickness(0, 0, 0, 20)
                   };

Это помещает пространство 20 пикселей под каждым изображением.

...