你可能將無法使用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和彈出,你將不得不自己設計。
好吧,如果按鈕是在ListView DataTemplate裏面? –
@Vodáček我認爲你應該能夠暴露datatemplate中的click事件,你的listview被定義在那裏,並且執行相同的操作。你也可以建立一個用於datatemplate的UserControl。 – Romasz