Unable to cast object of type 'Windows.UI.Xaml.Controls.
本文关键字:Windows UI Xaml Controls cast to object of type Unable | 更新日期: 2023-09-27 17:52:11
我有一个canvas
,当它是Tapped
时想要得到它的名字。所以我有这个XAML
:
<Canvas Name="drawLine" ... >
...
</Canvas>
和此函数绑定在Tapped
事件上:
private void ChangePage(object sender, TappedRoutedEventArgs e)
{
string name = ((Canvas)sender).Name.ToString();
Frame.Navigate(typeof(Params), name);
}
bug得到以下错误:
类型为'System '的异常。InvalidCastException'发生在Gotqn.exe,但在用户代码中未处理
附加信息:无法强制转换类型的对象"Windows.UI.Xaml.Controls。
使用Canvas'来输入'gotqn.Canvas'。
为什么((Canvas)sender).Name.ToString();
会产生这样的错误?还有别的办法知道他的名字吗?
看起来您在不同的命名空间中有两个Canvas类。我猜Windows.UI.Xaml.Controls
名称空间不在您的using
中,因此代码假设gotqn.Canvas
。您是否声明了自己的Canvas类?如果是,你可能需要指定你想要的Canvas类的全名
string name = ((Windows.UI.Xaml.Controls.Canvas)sender).Name.ToString();