在UWP的日历视图中单击日期时发生的事件

时间:2018-09-04 12:30:46

标签: c# xaml uwp

我想在UWP的CalenderView中的dayitem上添加一个click事件,该事件发送有关当天的信息。我很难弄清楚该怎么做。

[CalenderView[1] 我已经尝试过跟踪,但是它没有用,我可以想象有更好的方法来做到这一点。

      private async void KalenderView_DoubleTappedAsync(object sender, DoubleTappedRoutedEventArgs e)
    {
        Viewmodel.Calendar_ViewModel calender_Viewmodel = new Viewmodel.Calendar_ViewModel();

          if ( KalenderView.SelectedDates != null )
        {
            await calender_Viewmodel.OpenNewWindowAsync();

        } 
        else
        { 
        }
    }
}

和XML:

<Grid>
    <CalendarView 
        x:Name="KalenderView" 
        DoubleTapped="KalenderView_DoubleTappedAsync" 
        CalendarViewDayItemChanging="CalendarView_CalendarViewDayItemChanging"  HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Center" Height="526" Width="936"
       SelectionMode="Single"
        DisplayMode="Month"/>
</Grid>

1 个答案:

答案 0 :(得分:0)

您可以为此目的使用SelectedDatesChanged事件,只要您以任何方式更改日历中的日期,就会调用该事件,并且在此事件中,您可以看到当前选中并访问的日历的新日期,只是 dayitem 或calenderdayitem上的任何其他属性。

如果要在单击日项目时专门添加一个事件,可能会有些复杂,因为您必须创建一个控件(请参阅:Templated Control vs Custom Control in UWP. No clear answer found online),但是我建议不要这样做,除非您别无选择,而且您知道自己在做什么。