0

我正在开发一个小型 Windows Phone 7 Silver Light 应用程序。当用户点击并按住相应的条目时,我只想在列表框中的项目上弹出一个上下文菜单。我已经阅读了几篇文章,给出的最常见答案是使用 Silverlight 工具包。我很兴奋,因为我已经设置好它并将它用于应用程序中的其他一些事情。所以我找到了一个教程,解释了如何在按钮上进行设置。我尝试时失败了,因为我为按钮设置了两次内容:

    <Button Width="Auto" MinWidth="460" Height="Auto" HorizontalAlignment="Stretch">
        <Button.Content>
            <toolkit:GestureListener Hold="GestureListener_Hold" />
            <StackPanel ..... >
                .......
            </<StackPanel>
        </Button.Content>
    </Button>

这告诉我“属性‘内容’不止一次。所以再次搜索后,我发现了一篇不错的文章,http ://forums.create.msdn.com/forums/t/85263.aspx ,这表明我可以移动语句看起来更像:

    <StackPanel Orientation.....>
        <toolkit:GestureListener Hold="GestureListener_Hold" />  
        <TextBlock
            Text="{Binding ItemName}" FontSize="{StaticResource PhoneFontSizeLarge}"
            HorizontalAlignment="Stretch" VerticalAlignment="Center" Height="40"/>
    </StackPanel>

这告诉我“‘GestureListener’类型的值不能添加到‘UIElementCollection’类型的集合或字典中。

我将不胜感激任何一种方法或全新方法的帮助。提前致谢!

4

1 回答 1

0

您需要将 GestureListener 设置为 GestureService.GestureListener 附加属性的值:

<Button Width="Auto" MinWidth="460" Height="Auto" HorizontalAlignment="Stretch"> 
    <Button.Content> 
        <StackPanel ..... > 
            <toolkit:GestureService.GestureListener>
                <toolkit:GestureListener Hold="GestureListener_Hold" />
            </toolkit:GestureService.GestureListener>
            ....... 
        </<StackPanel> 
    </Button.Content> 
</Button> 

值得一提的是,该工具包已经包含一个 ContextMenu 助手。看这里

于 2012-07-13T19:30:34.460 回答