单击 DataTemplate - WP8 中的按钮

标签 c windows-phone-8 longlistselector

我正在为我的应用程序使用此数据模板,该应用程序使用 WP8 工具包中的上下文菜单。因此,此数据模板中的每个项目都有一个按钮(用于打开上下文菜单),并且上下文菜单也有单击事件

那么,当我在应用程序中将此数据模板用于 LongListSelectors 时,如何调用这些点击事件?

<DataTemplate>
        <Grid>
            <Grid.ColumnDefenitions>.........
            ......
            <TextBlock Text="{Binding Name}" TextWrapping="Wrap" Grid.Column="0"/>
            <TextBlock Text="{Binding Artist}" TextWrapping="Wrap" Grid.Column="1"/>
            <Button Click="openContext" Grid.Column="2"/>
                <toolkit:ContextMenuService.ContextMenu>
                    <toolkit:ContextMenu IsZoomEnabled="false">
                        <toolkit:MenuItem Header="Download" 
                                          Click="context_download" />
                        <toolkit:MenuItem Header="Add to later" 
                                          Click="context_later" />
                        .......
                    </toolkit:ContextMenu>
                </toolkit:ContextMenuService.ContextMenu>
            </TextBlock>
        </StackPanel>
    </DataTemplate>

最佳答案

上下文菜单应在元素内部声明,而不是单独声明。在按钮内声明上下文菜单,如下面的代码所示,并删除按钮中的单击事件。

每当您在按钮中声明上下文菜单时,它都会自动运行(打开上下文菜单),无需任何单击事件。

<Button Content="ContextMenu">
            <toolkit:ContextMenuService.ContextMenu>
                <toolkit:ContextMenu IsZoomEnabled="False">
                    <toolkit:MenuItem Header="Download" Click="context_download"/>
                    <toolkit:MenuItem Header="Add to later" Click="context_later"/>
                </toolkit:ContextMenu>
            </toolkit:ContextMenuService.ContextMenu>
        </Button>

关于单击 DataTemplate - WP8 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25824631/

上一篇:重新定义 C 宏

下一篇:C——目录探索

相关文章:

c++ - 如何在 Windows Phone 运行时组件中使用 native 类

windows-phone-8 - 删除 MenuItem(在 Windows Phone 8 上)后如何刷新/更新 LongListSelector?

c# - 使用 linq 在列表中查找值?

windows-phone-8 - ReBind-Reload LongListMultiSelector 时崩溃

c++ - 位域成员的类型

数组的复杂度与字符串长度

c# - Windows Phone 8 文本框中的占位符

javascript - 如何处理 Windows Phone 8 HTML5 + JavaScript 游戏的分辨率?

c - 多线程程序中的意外输出

c - 获取密码的隐窝是添加一些奇怪的 foobar 东西,所以它不等于