windows-phone-8 - 当我单击按钮时,弹出窗口中的日期选择器会直接打开吗?

标签 windows-phone-8 datepicker timepicker

described我在我的 xaml 文件中输入一个 datepicker

当我运行页面时,日期选择器显示如下:

enter image description here

然后我必须点击日期选择器才能进入选择页面,如下所示:

enter image description here

现在

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

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

但我不知道怎么办?

最佳答案

我是海报。

我自己找到解决方案

使用我们的自定义 DatePickerCustom 类覆盖 DatePicker 类。创建新类“DatePickerCustom.cs”

public class DatePickerCustom : DatePicker
{
    public void ClickTemplateButton()
    {
        Button btn = (GetTemplateChild("DateTimeButton") as Button);
        ButtonAutomationPeer peer = new ButtonAutomationPeer(btn);
        IInvokeProvider provider = (peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider);

        provider.Invoke();
    }
}

然后在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;
    }

这样,当执行点击或单击等操作时,将显示全屏日期选择器页面

private void button1_Click(object sender, RoutedEventArgs e)
{
     this.datePicker.ClickTemplateButton();
}

ps:timepicker也可以做同样的事情

ps2:here就是细节

@马里奥·加尔万

希望对你有帮助

关于windows-phone-8 - 当我单击按钮时,弹出窗口中的日期选择器会直接打开吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22221529/

相关文章:

c# - Kendo UI 日期选择器与 Chrome 56 不兼容

jquery-ui - jQuery 日期选择器输入字段设置为 "not clickable"

android - 无法解析方法 'show(android.support.v4.app.FragmentManager,java.lang.String)'

c# - 如何重启 XNA 游戏类(Monogame)

c# - 是什么导致在BackgroundAudioPlayer.get_Position()出现System.Runtime.InteropServices.COMException?

c# - 从内存中删除项目/页面/用户控件

c# - 在 Windows Phone 上实现可滚动表

javascript - jQuery DatePicker 绑定(bind)控件不能包含在其他控件中

c# - 如何更改时间选择器的突出显示背景?

Angular2 时钟选择器