c# - 在 UWP 的日历视图中单击日期时的事件
问题描述
我想在 UWP 的 CalenderView 中的 dayitem 上添加一个单击事件,该事件发送有关当天的信息。我很难弄清楚怎么做。
[ 我已经尝试过,但它不起作用,我可以想象有更好的方法来做到这一点。
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>
解决方案
您可以为此目的使用SelectedDatesChanged事件,每当您以任何方式更改日历中的日期时都会调用它,并且在此事件中,您可以看到当前选择和访问的日历的新日期,只是dayitem或任何其他属性在日历日项目上。
如果您想在可以单击某天项目时专门添加一个事件,则可能会有点复杂,因为您必须创建一个控件(请参阅:UWP 中的模板化控件与自定义控件。在线找不到明确的答案)但我建议不要这样做,除非您别无选择并且您知道自己在做什么。
推荐阅读
- sql - 使用链接服务器与 openquery 相比是否有 SQL 性能优势?
- python - 使用 rpc 创建用于控制守护进程的 CLI 客户端
- php - Codeigniter 更新方法不更新 MYSQL 记录
- php - 不使用 Composer 在远程工作区上的 VSCode 中进行 PHP 格式化
- angularjs - AngularJS 努力从 HTTP.get 中获取价值
- kubernetes - StatefulSet 更新:重新创建 THEN 删除 pod
- javascript - 更换屏幕时平面列表数据丢失
- flutter - 在 StreamBuilder 中使用 AnimatedList
- internet-explorer - Internet Explorer - 奇怪的复制粘贴错误
- ag-grid - ag grid:排序后遍历所有行节点