MenuFlyout列表框Wp8.1 C#

时间:2015-07-01 16:27:35

标签: c# windows-phone-8.1

我尝试将一个MenuFlyout添加到lisbox 这是代码

  

XAML

    <ListBox Background="Transparent" Margin="6" Height="auto" BorderThickness="2" MaxHeight="580" Grid.Row="1" x:Name="listBoxobj" SelectionChanged="listBoxobj_SelectionChanged">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid Width="350" >
                        <Border Margin="5" BorderBrush="White" BorderThickness="1">
                            <Grid Holding="Grid_Holding" VerticalAlignment="Stretch">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto"/>
                                    <RowDefinition Height="Auto"/>
                                </Grid.RowDefinitions>

                                <FlyoutBase.AttachedFlyout>
                                    <MenuFlyout>
                                        <MenuFlyoutItem x:Name="EditButton"
                                                Text="Edit"
                                                Click="EditButton_Click"
                                                        />
                                        <MenuFlyoutItem x:Name="DeleteButton"
                                                Text="Delete"
                                                        />
                                    </MenuFlyout>
                                </FlyoutBase.AttachedFlyout>
                                <TextBlock Margin="5,0,0,0" Grid.Row="0" x:Name="NameTxt" TextWrapping="Wrap" Text="{Binding Name}" FontSize="28" Foreground="White"/>
                                <TextBlock HorizontalAlignment="Right" Margin="0,0,35,0" Grid.Row="3" x:Name="CreateddateTxt" Foreground="White" FontSize="18" TextWrapping="Wrap" Text="{Binding CreationDate}" />
                            </Grid>
                        </Border>
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
  

C#

    private void Grid_Holding(object sender, HoldingRoutedEventArgs e)
        {
            FrameworkElement senderElement = sender as FrameworkElement;
            FlyoutBase flyoutBase = FlyoutBase.GetAttachedFlyout(senderElement);

            flyoutBase.ShowAt(senderElement);
        }

        private async void EditButton_Click(object sender, RoutedEventArgs e)
        {
            Frame.Navigate(typeof(test));
}

首先,当我拿着物品时,它会起作用并向我显示菜单并转到另一页,但当我再次抓住相同的物品时,应用程序会崩溃。

0 个答案:

没有答案