我正在开发一款小型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'类型的集合或字典中。
我很欣赏任何方法或全新方法的帮助。 提前谢谢!
答案 0 :(得分: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帮助器。见here