我有一个canvas
并且想在它被Tapped
时获取它的名字。所以,我有这个 XAML
:
<Canvas Name="drawLine" ... >
...
</Canvas>
并且此函数绑定(bind)到 Tapped
事件上:
private void ChangePage(object sender, TappedRoutedEventArgs e)
{
string name = ((Canvas)sender).Name.ToString();
Frame.Navigate(typeof(Params), name);
}
错误得到以下错误:
An exception of type 'System.InvalidCastException' occurred in gotqn.exe but was not handled in user code
Additional information: Unable to cast object of type 'Windows.UI.Xaml.Controls.Canvas' to type '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();
关于c# - 无法将类型为 'Windows.UI.Xaml.Controls.Canvas' 的对象转换为类型 'Canvas',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558825/