簡體   English   中英

是什么導致“名稱空間中不存在類型或名稱空間名稱'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM