Добавить изображение в ресурсы во время выполнения C # (UWP) - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь сделать функцию добавления изображения.Где пользователь может загрузить изображение элемента, и он добавит это изображение в активы моего проекта для будущего использования.это мой код:

private async void PickAFileButton_ClickAsync(object sender, RoutedEventArgs e)
    {
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpeg");
        openPicker.FileTypeFilter.Add(".png");

        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {
            // Application now has read/write access to the picked file
            String a = "ms-appx:///Assets/" + file.Name;
            theItem.Source = new BitmapImage(new Uri(a));
        }
        else
        {
            theImage.Text = "Operation cancelled.";
        }
    }

Как добавить данное изображение в папку ресурсов моего проекта, чтобы я мог показать его сбоку, а также использовать его для других целей?

Буду очень признателен за любую помощь.

1 Ответ

0 голосов
/ 10 декабря 2018

Как добавить данное изображение в папку ресурсов моего проекта

Папка активов проекта uwp доступна только для чтения во время выполнения, мы не можем добавить изображение в ходе выполнениявремя.Мы предлагаем использовать папку Local для замены папки Assets.

private async void PickAFileButton_ClickAsync(object sender, RoutedEventArgs e)
{
    FileOpenPicker openPicker = new FileOpenPicker();
    openPicker.ViewMode = PickerViewMode.Thumbnail;
    openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
    openPicker.FileTypeFilter.Add(".jpg");
    openPicker.FileTypeFilter.Add(".jpeg");
    openPicker.FileTypeFilter.Add(".png");

    StorageFile file = await openPicker.PickSingleFileAsync();
    if (file != null)
    {   await file.CopyAsync( ApplicationData.Current.LocalFolder );
        // Application now has read/write access to the picked file
        String a = "ms-appdata:///local/" + file.Name;
        theItem.Source = new BitmapImage(new Uri(a));
    }
    else
    {
        theImage.Text = "Operation cancelled.";
    }
}
...