在列表框windows phone 7中有换行符

时间:2011-06-23 12:44:20

标签: windows-phone-7 isolatedstorage

您好我正在从隔离存储中检索多个图像。 当我在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 个答案:

答案 0 :(得分:2)

这里不适合换行,因为你没有破坏文字。

我猜你真正想要的是物品之间的空间。为此,你要使用保证金 类似的东西:

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

这会在每张图像下面留出20个像素的空间。