Написание первой программы, ориентированной на UWP и .NET Core, на Windows 10, и вам нужно добавить функцию перетаскивания, чтобы включить изображения, перемещенные из файловых папок. Поскольку я хочу разрешить пользователю упорядочивать выпавшие изображения (эскизы), как они хотят на целевой панели, я выбрал панель Canvas, но не смог заставить drag/drop работать. Перетаскивание файла изображения поверх панели приводило к отображению красного круга (без капли). Изменен тип панели на сетку, и все работает нормально. Любые подсказки о том, как получить панель Canvas для совместной работы?Невозможно перетащить на панели холста
XAML
<GridView Grid.Row="1" x:Name="MainPanel" AllowDrop="True" DragEnter="MainPanel_DragEnter" Drop="MainPanel_Drop" >
</GridView>
код за
private void MainPanel_DragEnter(object sender, DragEventArgs e)
{
e.AcceptedOperation = DataPackageOperation.Copy;
e.DragUIOverride.Caption = "drop to add image file to collection";
e.DragUIOverride.IsCaptionVisible = true;
e.DragUIOverride.IsContentVisible = true;
}
private async void MainPanel_Drop(object sender, DragEventArgs e)
{
if (e.DataView.Contains(StandardDataFormats.StorageItems))
{
var items = await e.DataView.GetStorageItemsAsync();
// etc.
}
}
При попытке использовать панель Canvas, то XAML используется Canvas ключевого слова вместо GridView и Grid.Row = "1" был опущен ,
Любые обновления? Помог ли мой ответ решить проблему? –
Да - молодец. Я не задавал уведомлений по этому вопросу и пропустил ваш ответ. В то же время (конечно) я закодировал обходное решение. благодаря – Mike