Добавление событий в ScatterViewItems при неявном их создании - PullRequest
0 голосов
/ 03 июня 2009

Не уверен, что здесь слишком много разработчиков поверхностей, но эй хо ...

Если у меня есть представление scatterview, из-за которого простота создает объекты ScatterViewItem (см. Ниже), можно ли удалить события контакта для каждого scatterViewItem? Кроме того, когда я оборачиваю объект изображения в ScatterViewItem явно, элемент больше не работает. Кто-нибудь может посоветовать, почему это так?

<s:ScatterView ItemsSource="{StaticResource DummyData}" >
   <s:ScatterView.ItemTemplate>
      <DataTemplate>
         <Image Source="{Binding Path=ImagePath}" />
      </DataTemplate>
   </s:ScatterView.ItemTemplate>
 </s:ScatterView>

1 Ответ

3 голосов
/ 03 июня 2009

Завершение изображения в элемент scatterview внутри таблицы данных не поможет, потому что представление scatter все равно будет генерировать и оборачивать его другим элементом scatterview, пока вы используете ItemsSource. Единственный способ предотвратить это - создать и добавить svi в коллекцию элементов в scatterview в коде, но это лишило бы преимуществ привязки данных.

Чтобы перейти к исходному вопросу, я предполагаю, что вы хотите знать, когда событие ContactDown или ContactUp происходит с любым сгенерированным scatterviewitem, верно? Поскольку это перенаправленные события, вы можете просто подписаться на уровне scatterview.

  <s:ScatterView ItemsSource="{StaticResource DummyData}" 
                 s:ScatterViewItem.ContactDown="OnSVIContactDown">
    <s:ScatterView.ItemTemplate>      
        <DataTemplate>         
           <Image Source="{Binding Path=ImagePath}" />      
        </DataTemplate>   
    </s:ScatterView.ItemTemplate> 
  </s:ScatterView>
...