以编程方式显示DatePicker的弹出窗口

时间:2011-09-23 09:16:41

标签: windows-phone-7 silverlight-toolkit windows-phone-7.1

我正在使用Mango上的Silverlight Toolkit中的DatePicker

我想以编程方式显示日期选择器完整模式显示,但我目前看不到任何API挂钩。

这可能吗?或者我必须通过(智能地)编写新控件来实现这一点吗?

2 个答案:

答案 0 :(得分:1)

建立自己的恐惧。

请注意用户对自动打开它的期望。 ;)

答案 1 :(得分:1)

可悲的是Matt是对的 - 没有公开或受保护的API可以入侵,安全性会阻止反射的使用 - 所以我给他的答案+1了......并且完整答案是:

  • 从Silverlight.codeplex.com获取文件
  • 使用整个项目或使用DatePicker.cs,DateTimePickerBase.cs和Generic.xaml的DatePicker样式模板创建自己的库
  • 在你的DateTimePickerBase中
  • ,添加:

    public event EventHandler<EventArgs> PopupClosedByDateSelection;
    
  • if(_dateTimePickerPage.Value.HasValue)块内的PopupClosedByDateSelection内的ClosePickerPage()中,添加:

                if (PopupClosedByDateSelection != null)
                    PopupClosedByDateSelection(this, EventArgs.Empty);
    

这似乎适用于Back按钮的情况以及取消和OK情况。