WPF: Сбросить позиции scatterviewitems? - PullRequest
3 голосов
/ 20 мая 2010

У меня есть скаттервью с некоторыми предметами, которые я помещаю вместе с Ориентацией и Центром. Теперь я хочу иметь возможность сбрасывать позиции элементов scatterview после масштабирования, поворота и перемещения их во время работы программы.

На данный момент я делаю это так:

private void Reset_ContactTapGesture (отправитель объекта, Microsoft.Surface.Presentation.ContactEventArgs e)

{

       item1.Center = new Point(150,150);
        item1.Orientation = 15;
        item1.Width = 100;
        item1.Height = 150;

}

Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 27 мая 2010

Нет, не совсем. :) Scatterview не имеет понятия стартовой позиции или позиции по умолчанию - все это рандомизировано при первом добавлении предметов (кроме размера, который установлен в 20% от SV IIRC). Единственный способ сделать это, как вы, путем манипулирования значениями вручную.

Полагаю, вы могли бы поместить эту логику в модель представления и связать ширину, высоту, центр и ориентацию со свойствами на ВМ. В этом случае виртуальная машина может иметь метод сброса или команду relay, которая восстанавливает значения по умолчанию. По сути, это то же самое, что вы делаете в коде позади.

...