Windows phone 8 当我点击按钮时,弹出窗口中的日期选择器是否直接打开?

Windows phone 8 当我点击按钮时,弹出窗口中的日期选择器是否直接打开?,windows-phone-8,datepicker,timepicker,Windows Phone 8,Datepicker,Timepicker,当我在xaml文件中输入日期选择器时 当我运行页面时,datepicker显示如下: 然后,我必须点击datepicker进入选择页面,如下所示: 现在 单击按钮时,我需要直接打开全屏日期选择器选择页面 地址提供了一种方式,我可以导航到选择页面 但我不知道怎么做?我就是海报 我自己找到了解决办法 用我们的自定义DatePickerCustom类重写DatePicker类。创建新类“DatePickerCustom.cs” 然后在mainpage.xaml.cs中 private DatePi

当我在xaml文件中输入日期选择器时

当我运行页面时,datepicker显示如下:

然后,我必须点击datepicker进入选择页面,如下所示:

现在

单击按钮时,我需要直接打开全屏日期选择器选择页面

地址提供了一种方式,我可以导航到选择页面

但我不知道怎么做?

我就是海报

我自己找到了解决办法

用我们的自定义DatePickerCustom类重写DatePicker类。创建新类“DatePickerCustom.cs”

然后在mainpage.xaml.cs中

private DatePickerCustom datePicker;

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

        Loaded += new RoutedEventHandler(MainPage_Loaded);
    }

    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        // create datePicker programmatically
        if (this.datePicker == null)
        {
            this.datePicker = new DatePickerCustom();
            this.datePicker.IsTabStop = false;
            this.datePicker.MaxHeight = 0;

            this.datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(datePicker_ValueChanged);

            LayoutRoot.Children.Add(this.datePicker);

        }
    }

    void datePicker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
    {
        // now we may use got value from datePicker
        TextBlock1.Text = this.datePicker.ValueString;
    }
注:时间选择器也可以做同样的事情

ps2:细节是什么

@马里奥·加尔万


希望当你点击哪个按钮时对你有帮助?就在我运行电话页面时,然后点击日期选择器下方的按钮打开选择页面…@Toni Petrina第1轮的(x)?请看。好吧,让我检查一下@Toni Petrina Getting btn=null。你能帮帮我吗?我正在开发wp8.1silverlight应用程序。按钮btn=(GetTemplateChild(“flybuttton”)作为按钮);这将解决按钮空引用问题。
private DatePickerCustom datePicker;

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

        Loaded += new RoutedEventHandler(MainPage_Loaded);
    }

    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        // create datePicker programmatically
        if (this.datePicker == null)
        {
            this.datePicker = new DatePickerCustom();
            this.datePicker.IsTabStop = false;
            this.datePicker.MaxHeight = 0;

            this.datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(datePicker_ValueChanged);

            LayoutRoot.Children.Add(this.datePicker);

        }
    }

    void datePicker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
    {
        // now we may use got value from datePicker
        TextBlock1.Text = this.datePicker.ValueString;
    }
private void button1_Click(object sender, RoutedEventArgs e)
{
     this.datePicker.ClickTemplateButton();
}