Сброс изображения в UWP, окруженный относительными панелями

#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" />