Вы, вероятно, не будете в состоянии использовать CalendarDatePicker внутри выпадающого - выпадающей закрыто, как только вы выбираете один из вариантов, в этом случае после нажатия кнопки управления, чтобы показать календарь, плавающий закрыт вместе с открытый календарь (вы можете даже увидеть его некоторое время, если у вас есть контроль). В этом случае вы можете использовать, например, Popup или 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, вы должны разработать самостоятельно.
ОК и что, если кнопка находится внутри DataView? –
@ Vodáček Я думаю, что вы должны иметь возможность выставлять событие клика из datatemplate, где определено ваше представление, и делать то же самое. Возможно, вы также можете создать UserControl для datatemplate. – Romasz