如何在Windows Phone 8上以编程方式启动工具包datepicker

时间:2014-05-20 14:38:55

标签: windows-phone-8 datepicker

我有这种代码的和平:

<toolkit:DatePicker x:Name="SchedulerDatePicker"
                                    Grid.Column="1"
                                    Background="White"
                                    Foreground="Black"
                                    BorderThickness="0.5,1,0.5,0.5"
                                    BorderBrush="#77797A"
                                    FontSize="18"
                                    Value="">
                    </toolkit:DatePicker>

                    <Button Grid.Column="1"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Center"
                            Background="Transparent"
                            BorderThickness="0"
                            BorderBrush="Transparent"
                            Click="CalendarButton_Click">
                        <Image x:Name="ImageDatePicker"
                           HorizontalAlignment="Right"
                           Margin="0,0,0,0"
                           Style="{StaticResource InfoEllipseImage}"
                           Source="../../Assets/Icons/datepicker.png">
                        </Image>
                    </Button>

所有这些代码都在Windows Mobile 8项目中的.xaml文件中。我需要在代码后面的'CalendarButton_Click'中打开DatePicker'SchedulerDatePicker'。这该怎么做?我真的不知道......

2 个答案:

答案 0 :(得分:2)

看看point 6 here

这看起来像你需要的。创建DatePicker的子类,如该博客文章的第6点所示,使用您的子类而不是原始的DatePicker,当您想要打开它时 - 调用ClickTemplateButton方法。哦,不要忘了感谢写这篇博文的那个人。 :P

由于某种原因,打开选择器的方法没有添加到工具包中。您可以查看其源代码somewhere here

答案 1 :(得分:2)

如果您以编程方式尝试显示DatePicker页面,则还可以调用私有方法在工具箱中执行此操作。这样的事情。

typeof(Microsoft.Phone.Controls.DateTimePickerBase).InvokeMember ("OpenPickerPage", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, Type.DefaultBinder, this, null);