首页 > 解决方案 > 在 UWP 的日历视图中单击日期时的事件

问题描述

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

[日历视图[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>

标签: c#xamluwp

解决方案


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

如果您想在可以单击某天项目时专门添加一个事件,则可能会有点复杂,因为您必须创建一个控件(请参阅:UWP 中的模板化控件与自定义控件。在线找不到明确的答案)但我建议不要这样做,除非您别无选择并且您知道自己在做什么。


推荐阅读