Откройте DatePicker из всплывающего окна - PullRequest
0 голосов
/ 20 января 2012

Я хочу открыть DatePicker из всплывающего окна. Когда я нажимаю кнопку выбора даты, за всплывающим окном открывается страница ввода даты (со счетчиками).

Как DatePicker может перейти через всплывающее окно и вернуться к нему после выбора даты?

Вот как я открываю всплывающее окно:

private void btnShowBuyNow_Click(object sender, RoutedEventArgs e)
    {
        Popup buyNowScreen;
        buyNowScreen = new Popup();
        buyNowScreen.Child = 
            new BuyNowScreen
                ("Buy this application and get rid of the ads!");
        buyNowScreen.IsOpen = true;
        buyNowScreen.VerticalOffset = 100;
        buyNowScreen.HorizontalOffset = 25;
        buyNowScreen.Closed += (s1, e1) =>
            {
                // Add you code here to do something 
                // when the Popup is closed
            };
    }

DatePicker в xaml-файле всплывающего окна:

<toolbox:DatePicker x:Name="DatePick" Height="Auto" HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Top" Width="400" IsEnabled="True"/>

1 Ответ

1 голос
/ 20 января 2012

С событиями:

Добавьте кнопку во всплывающем окне с помощью DatePicker.При нажатии кнопки появляется событие для закрытия PopUp

XAML

<toolbox:DatePicker x:Name="DatePick" Height="Auto" HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Top" Width="400" IsEnabled="True"/>
<Button Click="DateAcceptedClick"/>

CodeBehind для Popup

public event DateAcceptedButtonClick DateAcceptedButtonEvent;
public delegate void DateAcceptedButtonClick (object sender, RoutedEventArgs e);

private void DateAcceptedClick(object sender, RoutedEventArgs e)
{
     if (DateAcceptedButtonEvent!= null)
         DateAcceptedButtonEvent(sender, e);
}

CodeBehind для Popup Parent

Popup BuyNowScreen;
private void btnShowBuyNow_Click(object sender, RoutedEventArgs e)
{
    BuyNowScreen = new Popup();
    BuyNowScreen.Child = new BuyNowScreen("Buy this application and get rid of the ads!");
    BuyNowScreen.IsOpen = true;
    BuyNowScreen.VerticalOffset = 100;
    BuyNowScreen.HorizontalOffset = 25;
    BuyNowScreen.DateAcceptedButtonEvent += new DateAcceptedButtonClick(PopupDateAcceptedButtonClick)
}

private void PopupDateAcceptedButtonClick(object sender, RoutedEventArgs e)
{
    BuyNowScreen.IsOpen = false;
    //Closed logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...