UWP - 如何在页面加载时以开放格式显示 TimePicker / DatePicker

UWP - How to show TimePicker / DatePicker in Open format on Page Load

我正在开发 UWP (Win10 - VS2015) 应用程序。当应用程序运行时,timepicker/datepicker 始终采用这种格式,请参见 Img (1),当我们点击 img(1) 控件时,它会 shows/popup img(2) 弹出窗口,但我需要在页面加载时显示整页弹出模式(如 img(2)),而不是点击 img(1)。

我检查了时间选择器的样式和模板,但没有找到任何东西。请帮助。

或者我们如何获得与 iPad 相同的自定义时间选择器控件。 参见 img Link here

您也可以使用TimePicker from Syncfusion

或者您可以尝试为标准 UWP TimePicker 编辑样式。它位于文件 generic.xaml 中,该文件应该位于

之类的文件夹中

C:\Program Files\Windows Kits\DesignTime\CommonConfiguration\Neutral\UAP.0.10240.0\Generic

您可以搜索 TimePicker 或 TimePickerFlyoutPresenter

作为解决方法,我找到了以下解决方案。希望对你有帮助。

TimePickerFlyout附加到TimePicker。它有Placement属性。在那里你可以指定 Full mode

<TimePicker x:Name="TestTimePicker" ClockIdentifier="24HourClock" Time="0" >
                <FlyoutBase.AttachedFlyout>
                    <TimePickerFlyout Placement="Full" TimePicked="TimePickerFlyout_TimePicked"/>
                </FlyoutBase.AttachedFlyout>
        </TimePicker>

在页面加载时显示弹出窗口。不要忘记调用页面的 UpdateLayout,否则当您点击接受按钮时 Flyout 不会关闭。

private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
           FlyoutBase.ShowAttachedFlyout(TestTimePicker);
            UpdateLayout();
        }

在 TimePicked 事件中将选定的时间分配给 TimePicker

private void TimePickerFlyout_TimePicked(TimePickerFlyout sender, TimePickedEventArgs args)
        {
            TestTimePicker.Time = sender.Time;
        }

这是屏幕截图。如果你想增加宽度和高度,你可以编辑 TimePickerFlyoutPresenter

的样式