private async void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count > 0 && listView.ContainerFromItem(e.AddedItems[0]) != null)
            {
                // 获取选中数据的 HeaderContainer
                ListViewHeaderItem headerContainer = listView.GroupHeaderContainerFromItemContainer(listView.ContainerFromItem(e.AddedItems[0])) as ListViewHeaderItem;

                NavigationModel headerNavigationModel = headerContainer.Content as NavigationModel;
                await new MessageDialog($"header: {headerNavigationModel.Title}").ShowAsync();
            }
        }
        //private void makeStatmentBtn_Click(object sender, RoutedEventArgs e)
        //{

        //}

        private void moveBtn_Click(object sender, RoutedEventArgs e)
        {
            //IFAccount transferTargetAccount = banks.FirstOrDefault(Ab => Ab.Name.Equals(BankDestination.Text)).Accounts.FirstOrDefault(acc => acc.Number.Equals(int.Parse(AccountNumber.Text)));
            //selectedAccount.InOutMovement.Add(new Movement(decimal.Parse(TransferAmount.Text), DateTime.Now, selectedAccount, transferTargetAccount));
            //transferTargetAccount.InOutMovement.Add(new Movement(decimal.Parse(TransferAmount.Text), DateTime.Now, selectedAccount, transferTargetAccount));
            selectedBank.Move(decimal.Parse(TransferAmount.Text), selectedAccount.Number, int.Parse(AccountNumber.Text));

            DateList.Items.Clear();
            AmountList.Items.Clear();
            TargetList.Items.Clear();
            SourceList.Items.Clear();

            ListViewHeaderItem HeaderDate   = new ListViewHeaderItem();
            ListViewHeaderItem HeaderSource = new ListViewHeaderItem();
            ListViewHeaderItem HeaderTarget = new ListViewHeaderItem();
            ListViewHeaderItem HeaderAmount = new ListViewHeaderItem();
            TextBlock          dateText     = new TextBlock();
            TextBlock          sourceText   = new TextBlock();
            TextBlock          targetText   = new TextBlock();
            TextBlock          amountText   = new TextBlock();

            dateText.Text        = "Date";
            sourceText.Text      = "Source";
            targetText.Text      = "Target";
            amountText.Text      = "Amount";
            HeaderDate.Content   = dateText;
            HeaderSource.Content = sourceText;
            HeaderTarget.Content = targetText;
            HeaderAmount.Content = amountText;
            AmountList.Items.Add(HeaderAmount);
            TargetList.Items.Add(HeaderTarget);
            SourceList.Items.Add(HeaderSource);
            DateList.Items.Add(HeaderDate);

            List <IFMovement> movementList = selectedBank.MakeStatement(SelectedCustomer, selectedAccount).ToList <IFMovement>();

            foreach (IFMovement aMovement in movementList)
            {
                ListViewItem AmountItem = new ListViewItem();
                ListViewItem TargetItem = new ListViewItem();
                ListViewItem SourceItem = new ListViewItem();
                ListViewItem DateItem   = new ListViewItem();

                AmountItem.Content = aMovement.Amount;
                TargetItem.Content = aMovement.Target.BankInfo.Name + ": " + aMovement.Target.Number;
                SourceItem.Content = aMovement.Source.BankInfo.Name + ": " + aMovement.Source.Number;
                DateItem.Content   = aMovement.Date.ToString();
                AmountList.Items.Add(AmountItem);
                TargetList.Items.Add(TargetItem);
                SourceList.Items.Add(SourceItem);
                DateList.Items.Add(DateItem);
            }
            accBallance.Text = selectedAccount.Balance.ToString();
        }
        private void withDrawBtn_Click(object sender, RoutedEventArgs e)
        {
            selectedAccount.InOutMovement.Add(new Movement(100.00m, DateTime.Now, selectedAccount, depositWithdrawAccount));
            DateList.Items.Clear();
            AmountList.Items.Clear();
            TargetList.Items.Clear();
            SourceList.Items.Clear();

            ListViewHeaderItem HeaderDate   = new ListViewHeaderItem();
            ListViewHeaderItem HeaderSource = new ListViewHeaderItem();
            ListViewHeaderItem HeaderTarget = new ListViewHeaderItem();
            ListViewHeaderItem HeaderAmount = new ListViewHeaderItem();
            TextBlock          dateText     = new TextBlock();
            TextBlock          sourceText   = new TextBlock();
            TextBlock          targetText   = new TextBlock();
            TextBlock          amountText   = new TextBlock();

            dateText.Text        = "Date";
            sourceText.Text      = "Source";
            targetText.Text      = "Target";
            amountText.Text      = "Amount";
            HeaderDate.Content   = dateText;
            HeaderSource.Content = sourceText;
            HeaderTarget.Content = targetText;
            HeaderAmount.Content = amountText;
            AmountList.Items.Add(HeaderAmount);
            TargetList.Items.Add(HeaderTarget);
            SourceList.Items.Add(HeaderSource);
            DateList.Items.Add(HeaderDate);

            List <IFMovement> movementList = selectedBank.MakeStatement(SelectedCustomer, selectedAccount).ToList <IFMovement>();

            foreach (IFMovement aMovement in movementList)
            {
                ListViewItem AmountItem = new ListViewItem();
                ListViewItem TargetItem = new ListViewItem();
                ListViewItem SourceItem = new ListViewItem();
                ListViewItem DateItem   = new ListViewItem();
                AmountItem.Content = aMovement.Amount;
                TargetItem.Content = aMovement.Target.BankInfo.Name + ": " + aMovement.Target.Number;
                SourceItem.Content = aMovement.Source.BankInfo.Name + ": " + aMovement.Source.Number;
                DateItem.Content   = aMovement.Date.ToString();
                AmountList.Items.Add(AmountItem);
                TargetList.Items.Add(TargetItem);
                SourceList.Items.Add(SourceItem);
                DateList.Items.Add(DateItem);
            }
            accBallance.Text = selectedAccount.Balance.ToString();
        }
        private void btnViewAccount_Click(object sender, RoutedEventArgs e)
        {
            selectedAccount = SelectedCustomer.Accounts.FirstOrDefault(acc => acc.Number.Equals(((Button)sender).Content));
            DateList.Items.Clear();
            AmountList.Items.Clear();
            TargetList.Items.Clear();
            SourceList.Items.Clear();

            ListViewHeaderItem HeaderDate   = new ListViewHeaderItem();
            ListViewHeaderItem HeaderSource = new ListViewHeaderItem();
            ListViewHeaderItem HeaderTarget = new ListViewHeaderItem();
            ListViewHeaderItem HeaderAmount = new ListViewHeaderItem();
            TextBlock          dateText     = new TextBlock();
            TextBlock          sourceText   = new TextBlock();
            TextBlock          targetText   = new TextBlock();
            TextBlock          amountText   = new TextBlock();

            dateText.Text        = "Date";
            sourceText.Text      = "Source";
            targetText.Text      = "Target";
            amountText.Text      = "Amount";
            HeaderDate.Content   = dateText;
            HeaderSource.Content = sourceText;
            HeaderTarget.Content = targetText;
            HeaderAmount.Content = amountText;
            AmountList.Items.Add(HeaderAmount);
            TargetList.Items.Add(HeaderTarget);
            SourceList.Items.Add(HeaderSource);
            DateList.Items.Add(HeaderDate);

            List <IFMovement> movementList = selectedBank.MakeStatement(SelectedCustomer, selectedAccount).ToList <IFMovement>();

            foreach (IFMovement aMovement in movementList)
            {
                ListViewItem AmountItem = new ListViewItem();
                ListViewItem TargetItem = new ListViewItem();
                ListViewItem SourceItem = new ListViewItem();
                ListViewItem DateItem   = new ListViewItem();
                AmountItem.Content = aMovement.Amount;
                TargetItem.Content = aMovement.Target.BankInfo.Name + ": " + aMovement.Target.Number;
                SourceItem.Content = aMovement.Source.BankInfo.Name + ": " + aMovement.Source.Number;
                DateItem.Content   = aMovement.Date.ToString();
                AmountList.Items.Add(AmountItem);
                TargetList.Items.Add(TargetItem);
                SourceList.Items.Add(SourceItem);
                DateList.Items.Add(DateItem);
            }
            accBallance.Text = selectedAccount.Balance.ToString();
        }