1

次のコードで開くポップアップ(DebtPage.xamlのNewTransaction)内にユーザーコントロール(AddNewTransaction)があります。

[DebtPage.xaml.cs]

   public void Button_Click_1(object sender, RoutedEventArgs e)
            {
                if (!NewTransaction.IsOpen) { NewTransaction.IsOpen = true; }

                NewTransaction.HorizontalOffset = (Window.Current.Bounds.Width) / 2 - (New_Transaction_Grid.Width / 2);
                NewTransaction.VerticalOffset = (Window.Current.Bounds.Height) / 2 - (New_Transaction_Grid.Height / 2);

                NewTransaction.Visibility = Visibility.Visible;

                RetanguloBranco_Background.Visibility = Visibility.Visible;
            }

ポップアップが開き、[保存]ボタン付きのカスタムコントロール(AddNewTransaction)があります。ボタンは、データを保存してポップアップを閉じることを想定しています。しかし、それはただ保存します、ポップアップは開いたままです。

[AddNewTransaction.xaml.cs]

private static DebtPage _debtPage;
public static DebtPage debtPage
{
    get
    {
        if (_debtPage == null)
        {
            _debtPage = new DebtPage();
        }
        return _debtPage;
    }
}


private void BotaoSave_Click(object sender, RoutedEventArgs e)
{
    SalvarTransaction(); //It's working!
    debtPage.ClosePopup_NewTransaction(); //It is not!
}

[DebtPage.xaml.cs]

public void ClosePopup_NewTransaction()
        {
            NewTransaction.IsOpen = false;

            NewTransaction.Visibility = Visibility.Collapsed;

            RetanguloBranco_Background.Visibility = Visibility.Collapsed;

        }

ありがとう!

4

1 に答える 1

0

私はこれで問題を解決しました:

private void BotaoSave_Click(object sender, RoutedEventArgs e)
        {
            SalvarTransaction();

            Grid gridParent = this.Parent as Grid;

            Popup parent = gridParent.Parent as Popup;
            if (parent != null)
            {
                parent.IsOpen = false;
            }
        }

しかし、なぜClosePopup_NewTransaction();何もしないのか知りたいです。

于 2013-02-27T23:00:26.273 に答える