Я пытаюсь создать Itemsview с помощью коллекции изображений от microsoft.ui.xaml.media.imaging. Itemsview заполняется FiePicker в командной панели. Свойство изображений заполняется, но изображения не отображаются. Я получаю нездоровое исключение, но я не могу понять, что это вызывает или как отладить это. Я новичок в Winui и не имею опыта в WPF или UWP, поэтому любое руководство о том, как исправить это или как отладить эту проблему. PrettyPrint-Override ">
1. List item
< /code>
public sealed partial class MainWindow : Window
{
public ObservableCollection Images { get; set; }
public MainWindow()
{
InitializeComponent();
Images = [];
}
private async void AppBarButton_Click(object sender, RoutedEventArgs e)
{
var senderButton = sender as Button;
senderButton.IsEnabled = false;
FolderPicker openPicker = new();
var window = this;
var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(window);
WinRT.Interop.InitializeWithWindow.Initialize(openPicker, hWnd);
openPicker.SuggestedStartLocation = PickerLocationId.Desktop;
openPicker.FileTypeFilter.Add("*");
StorageFolder folder = await openPicker.PickSingleFolderAsync();
if (folder != null)
{
StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", folder);
// Add all of the .jpg and .png files in the folder to the Images collection
var files = await folder.GetFilesAsync();
foreach (var file in files)
{
if (file.FileType == ".jpg" || file.FileType == ".png")
{
var image = new Image
{
Source = new BitmapImage(new Uri(file.Path)),
Width = 360,
Height = 360,
};
Images.Add(image);
}
}
}
//re-enable the button
senderButton.IsEnabled = true;
}
}
< /code>
Большая часть кода для FilePicker находится из приложения Gallery Winui. Проект свободно основан на этом видео от Microsoft, хотя вместо этого они используют ementsrepeater. Я удалил ненужный код, который не связан с проблемой. Пожалуйста, дайте мне знать, если я удалит что -то необходимое или что -то имеет смысл.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -itemsview