Добавить изображение в ресурсы во время выполнения C# (UWP)
Я пытаюсь сделать функцию добавления изображения. Где пользователь может загрузить изображение элемента, и он добавит это изображение в активы моего проекта для будущего использования. это мой код:
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 ответ
Решение
Как мне добавить данную картинку в папку ресурсов моего проекта
Папка активов проекта 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.";
}
}