.NET Maui按钮点击事件处理报错:无法转换EventArgs为ClickedEventArgs
问题原因及解决方法
核心问题
.NET Maui中Button的Clicked事件参数是EventArgs类型,不存在ClickedEventArgs这个类型(该类型是旧Xamarin.Forms的API,Maui已移除),所以强行将EventArgs转换为ClickedEventArgs会抛出类型转换异常。
正确获取CommandParameter的方式
直接从触发事件的Button实例本身获取参数,代码示例:
private void ButtonClicked_EventHandler(object sender, EventArgs e) { // 先判断sender是否为Button实例 if (sender is Button targetBtn) { // 直接从Button的CommandParameter属性取绑定的值 var identifier = targetBtn.CommandParameter; // 这里添加你的业务逻辑 } }
额外提示
如果你的项目遵循MVVM模式,建议优先使用Command绑定代替Clicked事件处理,这样更符合MVVM的设计规范,也能避免这类事件参数的问题。
内容的提问来源于stack exchange,提问作者Thomas Carlton
相关产品推荐
相关产品推荐

