Я думаю, что у вас могут возникнуть некоторые проблемы.
Прежде всего, используйте DragOver вместо DragEnter, иначе вы не сможете перетаскивать в него файлы.
Во-вторых , избавьтесь от ScrollViewer и позвольте ItemsControl управлять самой прокруткой. Для этого есть ряд причин (не в последнюю очередь это виртуализация), но просто поверьте мне: никогда не помещайте ItemsControl в ScrollViewer.
Далее избавьтесь от вертикальной StackPanel. Помещая все в панель стека, вы сами настраиваете размер ItemsControl в соответствии с количеством элементов, к которым он уже привязан, поэтому перетаскивание файлов в большую пустую область под ним ничего не изменит. Установите цвет фона WrapPanel, который вы действительно можете видеть, и убедитесь, что он покрывает ту область страницы, о которой вы думаете. Лучший способ сделать это - использовать родительскую таблицу Grid для создания макета, а затем заполнить ее кнопками Button и ItemsControl, соответственно установив свойства выравнивания.
Самая большая проблема этого кода заключается в том, что ваш обработчик TopMenuBorder_MouseDown
обновляет TempFiles
, но ваш ItemsControl привязывается к Files
.