我想在Button弹出窗口中使用CalendarDatePicker,如下所示:
<Button>
<Button.Flyout>
<Flyout>
<StackPanel>
<CalendarDatePicker x:Name="calendar"></CalendarDatePicker>
<Button Click="Button_Click">Save</Button>
</StackPanel>
</Flyout>
</Button.Flyout>
</Button>
但是当我点击日历时,整个Flyout消失了。我的目标是Windows 10 UWP应用。任何想法如何解决?谢谢。
答案 0 :(得分:0)
你可能无法在 Flyout 中使用 CalendarDatePicker - 只要你选择一个选项就会关闭flyout,在这种情况下,一旦你点击控制显示日历,弹出按钮与打开的日历一起关闭(如果你拿着一个控件,你甚至可能会看到它一段时间)。在这种情况下,您可以使用例如弹出或 ContentDialog 。
XAML:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Name="showCalndarButton" Content="Show PopUP" Click="showCalndarButton_Click"/>
<Popup Name="calendarPopup">
<StackPanel>
<CalendarDatePicker x:Name="calendar"></CalendarDatePicker>
<Button Click="Button_Click">Save</Button>
</StackPanel>
</Popup>
<ContentDialog Name="calendarDialog">
<StackPanel>
<CalendarDatePicker x:Name="secondCalendar"></CalendarDatePicker>
<Button Click="Button_Click">Save</Button>
</StackPanel>
</ContentDialog>
</Grid>
代码背后:
private void Button_Click(object sender, RoutedEventArgs e)
{
// some logic
// calendarPopup.IsOpen = false;
calendarDialog.Hide();
}
private async void showCalndarButton_Click(object sender, RoutedEventArgs e)
{
// calendarPopup.IsOpen = true;
await calendarDialog.ShowAsync();
}
在这种情况下 - ContentDialog 和 Popup ,你必须自己设计。