首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP7 -图像点击事件?

WP7 -图像点击事件?
EN

Stack Overflow用户
提问于 2011-01-26 12:49:59
回答 6查看 11.3K关注 0票数 8

有没有一种方法可以给图片分配一个点击事件?我想将事件分配给显示我的数据的列表框中的删除和搜索按钮。有没有办法使用图像控件来做到这一点,或者我必须在BLEND中为一个按钮创建一个样式?

代码语言:javascript
复制
        <ListBox x:Name="lbPills" ItemsSource="{Binding pillItemsCollection}" SelectionChanged="lbPills_SelectionChanged">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal">
                        <TextBlock FontFamily="Segoe WP Semibold" FontWeight="Bold" FontSize="30" VerticalAlignment="Top" Margin="20,0">*</TextBlock>
                        <StackPanel>
                            <TextBlock x:Name="ItemText" Text="{Binding Name}" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                        </StackPanel>

                        <Image Source="Images/delete.png" Margin="10,0"/>
                        <Image Source="Images/search.png" Margin="10,0"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-26 12:55:30

您可以使用手势侦听器来检测轻拍(单击)事件。在这里走一走。

WP7 Tip of the Day: Silverlight Toolkit: Gestures

或者,您可以将图像放入Button控件中,然后在blend中重新刻印它,以获得所需的外观。

票数 9
EN

Stack Overflow用户

发布于 2011-01-26 21:29:59

据我所知,对于点击和手势事件,图像本身没有侦听器(它们必须通过前面提到的手势附加)。实现这一点的一种方法是重新设置按钮模板:

代码语言:javascript
复制
        <Button>
            <Button.Template>
                <ControlTemplate>
                    <Image Source="Images/delete.png" Margin="10,0"/>
                </ControlTemplate>
            </Button.Template>
        </Button>

在按键上设置模板时,您将覆盖电话使用的默认模板(具有额外的填充、粗边等)。使用此方法将允许您绑定到按钮单击事件。

票数 13
EN

Stack Overflow用户

发布于 2011-01-26 13:07:48

处理ManipulationCompleted事件(这是任何轻敲,双击,轻扫,爱抚或轻抚)到您的图像(S)。所以:

<Image Source="Images/delete.png" Margin="10,0"/>变成了<Image x:Name="ImageDelete" ManipulationCompleted="ImageDelete_ManipulationCompleted" Source="Images/delete.png" Margin="10,0"/>。然后在ImageDelete_ManipulationCompleted处理程序中,跟踪它从sender传入的位置并执行您的操作。

如果你只想跟踪滑动而不是轻敲,只需在ManipulationCompletedEventArgse.IsInertial上执行一条If语句即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4801485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档