不确定这里有太多的表面开发人员,但是嘿嘿......
如果我有一个隐含创建ScatterViewItem对象的散点图(见下文),是否可以为每个scatterViewItem取消联系事件?此外,当我在ScatterViewItem中显式包装tyhe图像对象时,该项不再有效。有人可以建议为什么会这样吗?
<s:ScatterView ItemsSource="{StaticResource DummyData}" >
<s:ScatterView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Path=ImagePath}" />
</DataTemplate>
</s:ScatterView.ItemTemplate>
</s:ScatterView>
答案 0 :(得分:3)
将图像包装在datatemplate内的scatterviewitem中将无济于事,因为只要您使用ItemsSource,散点图仍将生成并使用另一个scatterviewitem进行包装。防止这种情况的唯一方法是明确地创建并添加svi到代码后面的scatterview上的items集合,但这会放弃数据绑定的优点。
要了解您的原始问题,我假设您想知道何时在任何生成的scatterviewitem上发生ContactDown或ContactUp事件?由于这些是路由事件,您只需在散点图级别订阅。
<s:ScatterView ItemsSource="{StaticResource DummyData}"
s:ScatterViewItem.ContactDown="OnSVIContactDown">
<s:ScatterView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Path=ImagePath}" />
</DataTemplate>
</s:ScatterView.ItemTemplate>
</s:ScatterView>