在列表框窗口电话的空白区域中选择时不显示上下文菜单

时间:2014-07-24 09:22:37

标签: c# wpf windows-phone-8 listbox contextmenu

在我的Windows手机应用程序中,我有一个数据绑定列表框。我的数据模板包含许多文本块。

如果我点击并按住任何文本块,则会出现上下文菜单。但是,如果我点击并按住列表框项目的空白区域,菜单就不会出现。

例如。如果我选择下面提到的图像中的任何文本区域,则会出现菜单。如果我一直按住名称和日期之间的区域,菜单就不会出现。

如果我在特定列表框项目中保留任何位置,我希望显示菜单。

enter image description here

注意:我包含了上下文菜单

我的xaml代码如下:

 <ListBox.ItemTemplate>
            <DataTemplate>
                <Border BorderThickness="0.25,0.25,0.25,0.25" BorderBrush="{StaticResource PhoneForegroundBrush}">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>

                        <toolkit:ContextMenuService.ContextMenu>
                            <toolkit:ContextMenu >
                                <toolkit:MenuItem 
                                    Header="delete" 
                                    Click="Delete" />
                            </toolkit:ContextMenu>
                        </toolkit:ContextMenuService.ContextMenu>

                        <TextBlock 
                            HorizontalAlignment="Left" 
                            TextWrapping="NoWrap" 
                            Grid.Row="0" 
                            Grid.ColumnSpan="2" 
                            Text="{Binding TEXT}" 
                            VerticalAlignment="Top" 
                            FontWeight="Bold"/>
                        <TextBlock 
                            HorizontalAlignment="Left" 
                            TextWrapping="NoWrap"
                            Grid.Row="1" 
                            Grid.Column="0" 
                            Text="{Binding USERNAME}" 
                            VerticalAlignment="Top" 
                            FontSize="{StaticResource PhoneFontSizeSmall}"/>
                        <TextBlock 
                            HorizontalAlignment="Right" 
                            TextWrapping="NoWrap" 
                            Grid.Row="1" 
                            Grid.Column="1" 
                            Text="{Binding Path=DATE}" 
                            VerticalAlignment="Top"
                            FontSize="{StaticResource PhoneFontSizeSmall}" />
                    </Grid>
                </Border>
            </DataTemplate>
        </ListBox.ItemTemplate>

有什么方法可以解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:6)

Background="{StaticResource TransparentBrush}"添加到DataTemplate中的网格。