![](/img/trans.png)
[英]The type or namespace name 'Xaml' does not exist in the namespace 'Windows.UI'
[英]What is causing “The type or namespace name 'UI' does not exist in the namespace” error?
我正在开发UWP应用程序,并且正在尝试对GridView中SelectedItem的值进行某些操作。 因此,就像我通常使用WPF一样,我进入XAML并在XAML中键入事件名称,然后让VS用代码为我创建事件。
<GridView x:Name="DataGrid1"
ItemClick="dg_ItemClick">
<!-- Just -->
<!-- Some -->
<!-- Normal -->
<!-- XAML -->
</GridView>
VS创建的事件如下所示
private void dg_ItemClick(object sender, Windows.UI.Xaml.Controls.ItemClickEventArgs e)
{
Biz.Customer cust = e.ClickedItem as Biz.Customer;
var messageDialog2 = new MessageDialog(cust.Code, cust.Company);
messageDialog2.ShowAsync();
}
在Windows.UI.Xaml.Controls部分的UI下,我立即得到一条红色的波浪线。 在页面顶部有一个using来包括它,并且VS不允许添加任何其他UWP引用。
通过将ItemClickEventArgs更改为RoutedEvenArgs,我可以像在应用程序的其他部分中一样消除错误,但是在这种情况下,我确实需要将ClickedItem作为参数传递给后面的代码。
我刚刚与其他人开始使用UWP,他们说他们在其他cLick事件中也遇到了同样的问题。 那么,我们都是在做错什么,还是在应用程序中缺少识别UI所需的东西?
我得到的全部错误是:错误CS0234名称空间“应用程序名称”中不存在类型或名称空间名称“ UI”(您是否缺少程序集引用?)
类型或名称空间名称“ UI”在名称空间“应用名称”中不存在
这意味着您的应用程序中包含Windows
的命名空间。
更改您的名称空间,或在UWP之前添加前缀:
global::Windows.UI.Xaml.Controls
另请参见如何:使用全局命名空间别名(C#编程指南) 。
我可以看到的错误之一是您的处理程序应标记为async
,并且在调用async方法时还应使用await
运算符:
private async void dg_ItemClick(object sender, Windows.UI.Xaml.Controls.ItemClickEventArgs e)
{
Biz.Customer cust = e.ClickedItem as Biz.Customer;
var messageDialog2 = new MessageDialog(cust.Code, cust.Company);
await messageDialog2.ShowAsync();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.