ScatterViewItem имеет свойства Center и Orientation, которые можно использовать для программного позиционирования элементов. Если вы знаете размер каждого элемента, вы сможете использовать эти свойства, чтобы расположить их так, как вам удобно. Подключившись к событию Loaded каждого и проверив ActualWidth / ActualHeight, вы можете получить размеры. Если вы можете использовать фиксированный начальный размер для всех ваших SVI, это еще проще.
Вы можете выложить их, рассчитав простую сетку (плюс некоторую случайность, чтобы она выглядела более естественной), или вы можете искать то, что называется «сило-ориентированным расположением», которое дает каждому объекту отталкивающую силу относительно его размер. Через некоторое время элементы естественным образом будут равномерно удалены друг от друга, хотя они могут все еще перекрываться, если им не хватает места. Я не видел пример этого в WPF, но см. Flare.prefused.org/demo (layout> force), что я имею в виду во Flash.