【问题标题】:How to show DatePicker & TimePicker controls over the Popop that contains them?如何在包含它们的 Poppop 上显示 DatePicker 和 TimePicker 控件?
【发布时间】:2013-11-26 16:56:34
【问题描述】:

我正在尝试使用 Windows Phone Toolkit DatePicker 和 TimePicker 创建一个弹出窗口,其中包含以下 XAML:

<Popup x:Name="MyPopup">

    <Border BorderThickness="2" Margin="10" BorderBrush="{StaticResource PhoneAccentBrush}">

        <StackPanel>

            <toolkit:DatePicker Name="datePicker" />
            <toolkit:TimePicker Name="timePicker"/>

        </StackPanel>

    </Border>
</Popup>

这可行,但每次我点击其中任何一个时,它们都会在弹出窗口下呈现,例如

在显示 DatePicker 或 TimePicker 时,我想不出任何隐藏弹出窗口的方法。

我尝试过将控件的Z-Index设置为大于Popup,如下:

void timePicker_GotFocus(object sender, RoutedEventArgs e)
{
    Canvas.SetZIndex(timePicker, Canvas.GetZIndex(MyPopup) + 1);
}

我也试过用

隐藏弹出窗口
void timePicker_GotFocus(object sender, RoutedEventArgs e)
{
    Popup.IsOpen = false;
}

但这会关闭弹出窗口和 TimePicker/DatePicker。

有什么方法可以在 Popup 控件之上查看 DatePicker/TimePicker 控件吗?

【问题讨论】:

  • 你有这样的想法吗? sdrv.ms/1bVpamc
  • 是的,完全一样。请提供这个(或至少它的突出部分)作为答案,我会接受它!

标签: c# windows-phone-8 windows-phone windows-phone-toolkit


【解决方案1】:

Sample project.

XAML

    <Border
        Background="{StaticResource PhoneChromeBrush}"
        BorderThickness="2"
        Margin="10"
        BorderBrush="{StaticResource PhoneAccentBrush}">

        <StackPanel>

            <toolkit:DatePicker
                Tap="DatePickerTap" />

            <toolkit:TimePicker
                Tap="DatePickerTap" />

        </StackPanel>

    </Border>
</Popup>

后面的代码

private bool pickerIsOpen = false;

// constructor
public MainPage()
{
    InitializeComponent();

    this.Loaded += this.MainPageLoaded;
}

// page loaded
private void MainPageLoaded(object sender, RoutedEventArgs e)
{
    if (this.pickerIsOpen)
    {
        this.MyPopup.IsOpen = true;
        this.pickerIsOpen = false;
    }
}

// date/time picker tap
private void DatePickerTap(object sender, System.Windows.Input.GestureEventArgs e)
{
    this.pickerIsOpen = true;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 2012-12-07
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多