是什么导致"名称空间中不存在类型或命名空间名称'UI'错误?

Buc*_*cks 2 c# xaml uwp

我正在研究UWP应用程序,我正在尝试使用GridView中的SelectedItem的值.因此,正如我通常使用WPF一样,我进入XAML并在XAML中键入我的事件名称,让VS为我创建代码中的事件.

<GridView x:Name="DataGrid1"
        ItemClick="dg_ItemClick">
        <!-- Just -->
        <!-- Some -->
        <!-- Normal -->
        <!-- XAML -->
</GridView>
Run Code Online (Sandbox Code Playgroud)

并且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();
    }
Run Code Online (Sandbox Code Playgroud)

我马上在Windows.UI.Xaml.Controls部分的UI下面得到一条红色的波浪线.在页面顶部有一个使用包括它,VS不会添加任何其他UWP引用.

通过将ItemClickEventArgs更改为RoutedEvenArgs,我可以将错误消除,就像我在应用程序的其他部分中消失一样,但在这种情况下,我确实需要将ClickedItem作为参数传递给后面的代码.

我刚刚与其他人开始谈论UWP并且他们说他们在其他cLick事件上遇到了同样的问题.那么,我们都做错了什么,或者我们的应用程序中是否存在需要识别UI所需的东西?

我得到的完整错误是这样的:错误CS0234名称空间'app name'中不存在类型或命名空间名称'UI'(您是否缺少程序集引用?)

Cod*_*ter 5

命名空间"app name"中不存在类型或命名空间名称"UI "

这意味着您的应用中包含一个名称空间Windows.

更改命名空间,或者为UWP添加前缀:

global::Windows.UI.Xaml.Controls
Run Code Online (Sandbox Code Playgroud)

另请参见如何:使用全局命名空间别名(C#编程指南).