Обработчик событий для ScatterViewItem Изменение местоположения в Surface SDK? - PullRequest
0 голосов
/ 15 сентября 2011

Кто-нибудь знает о простом способе захвата позиции ScatterViewItem (свойство Center), когда он теряет импульс и останавливается после пролистывания экрана? У меня настроена область «горячая точка», с которой я хотел бы начать передачу файла, как только элемент остановится в его пределах.

До сих пор я безуспешно пытался уведомить PropertyChanged:

    ---OvelayWrapper.xaml.cs---
    ---------------------------
    public event PropertyChangedEventHandler PropertyChanged;

    public Point CurrentLocation
    {
        get
        {
            return _CurrentLocation;
        }
        set
        {
            _CurrentLocation = value;
            OnPropertyChanged("CurrentLocation");
        }
    }
    protected void OnPropertyChanged(string newLoc)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(newLoc));
        }
        Console.WriteLine("New Location Recorded");
    }


    ---OverlayWrapper.xaml---
    -------------------------
    <s:ScatterViewItem Center="{Binding Path=CurrentLocation}">
            <Label Content="Test" />
    </s:ScatterViewItem>

ScatterViewItems имеет обработчик событий SizedChanged, который я использую для отслеживания масштабирования, но не имеет смысла, что обработчик событий TranslationChanged не существует.

Кроме того, я не могу использовать события ManipulationStarting / Delta / Completed для ScatterViewItem.

Спасибо заранее,

-Z

1 Ответ

1 голос
/ 15 сентября 2011

Используйте ScatterManipulationDelta для положения, размера и вращения

Редактировать: дельта не изменена

...