2

ヘルプが必要です、tap_event をクリックするとメッセージ ボックスの削除またはキャンセルが表示され、価格は合計から差し引かれますが、ショッピング カートは更新されず、「ListBoxCart.Items.Remove(curr)」でクラッシュします、 前もって感謝します!

    private void listBoxCart_Tap(object sender, GestureEventArgs e)
    {
        if (MessageBox.Show("Are you sure!", "Delete", MessageBoxButton.OKCancel)
            == MessageBoxResult.OK)
        {

            foreach (Dvd curr in thisapp.ShoppingCart)
            {
                if (curr.Equals(listBoxCart.SelectedItem))
                {
                    listBoxCart.Items.Remove(curr);
                    listBoxCart.SelectedIndex = -1;
                    total -= Convert.ToDecimal(curr.price);

                    NavigationService.Navigate(new Uri("/ShoppingCart.xaml", UriKind.RelativeOrAbsolute));
                }


            }
            txtBoxTotal.Text = total.ToString();
            listBoxCart.ItemsSource = thisapp.ShoppingCart;
        }
        else
        {
            NavigationService.Navigate(new Uri("/ShoppingCart.xaml", UriKind.RelativeOrAbsolute));
        }


    }
4

2 に答える 2

0

記事を書きました (フランス語で申し訳ありませんが、XAML を読むことができます): http://www.peug.ne ​​t/2012/05/17/contextmenu-dans-listbox-datatemplate/

とコード ビハインドで: 例:

    private void MenuItem_Click(object sender, RoutedEventArgs e)
    {
        var menuItem = sender as MenuItem;
        var fe = VisualTreeHelper.GetParent(menuItem) as FrameworkElement;
        Dvd _fig = fe.DataContext as Dvd;
        thisapp.ShoppingCart.Remove(_fig);

        reloading();
    }
于 2013-04-21T09:57:47.150 に答える