#uwp #drag-and-drop #uwp-xaml
#uwp #перетаскивание #uwp-xaml
Вопрос:
у меня проблема в том, что мое приложение UWP не позволяет мне что-либо добавлять (я везде устанавливаю AllowDrop =»True»). Мое событие перетаскивания никогда не срабатывает, и если я пытаюсь что-то отбросить, появляется этот маленький красный перечеркнутый круг, который говорит мне, что я не могу. Честно говоря, я абсолютно не понимаю, почему. Вот конструкция моего кода UWP (я удалил все ненужные фрагменты кода, чтобы осталась в основном структура):
<RelativePanel x:Name="ParentPanel" AllowDrop="True">
<RelativePanel AllowDrop="True">
<RelativePanel>
<RelativePanel>
</RelativePanel>
<RelativePanel>
</RelativePanel>
<RelativePanel>
</RelativePanel>
<RelativePanel>
</RelativePanel>
<RelativePanel>
</RelativePanel>
</RelativePanel>
<RelativePanel>
<RelativePanel>
</RelativePanel>
<RelativePanel>
</RelativePanel>
</RelativePanel>
<RelativePanel AllowDrop="True">
<ScrollViewer AllowDrop="True">
<RelativePanel AllowDrop="True">
<RelativePanel AllowDrop="True">
<RelativePanel AllowDrop="True">
<Image Height="150" Width="150" Margin="2" AllowDrop="True" DragOver="onDragOver"/>
</RelativePanel>
<RelativePanel AllowDrop="True">
<Image Height="150" Width="150" Margin="2" AllowDrop="True" DragOver="onDragOver"/>
</RelativePanel>
</RelativePanel>
</RelativePanel>
</RelativePanel>
</ScrollViewer>
</RelativePanel>
</RelativePanel>
</RelativePanel>
И вот код события OnDragOver (который никогда не запускается, потому что кажется, что мое приложение не допускает удаления):
private void onDragOver(object sender, DragEventArgs e)
{
e.AcceptedOperation = DataPackageOperation.Copy;
}
Суть вопроса: как мне заставить мое приложение разрешить операцию удаления?
Заранее благодарю вас
Ответ №1:
Сброс изображения в UWP, окруженный относительными панелями
Проблема в том, что вы не установили источник для изображения, и элемент управления изображением не будет отображаться. Даже если элемент имеет перетаскивание, событие OnDragOver не будет запущено. Поэтому, пожалуйста, установите источник изображения-заполнителя, чтобы изображение отображалось.
<Image
Width="150"
Height="150"
Margin="2"
Source="ms-appx:///Assets/StoreLogo.png"
AllowDrop="True"
DragOver="onDragOver" />