得到错误“;该名称不存在于当前上下文“”中;当试图引用用户控件时

本文关键字:用户 控件 引用 于当前 错误 不存在 上下文 | 更新日期: 2023-09-27 18:21:58

我想在我的应用程序中标准化弹出窗口。所以我为它创建了一个用户控件,并引用如下:

    <!--<Popup x:Name="LoginPopup" Grid.ColumnSpan="2" Grid.RowSpan="2" Height="768" Width="1366" IsOpen="False">-->
        <uc:StandardDialog Name="StandardDialog" Height="768" Width="1366" Grid.ColumnSpan="2">
            .
            .
            .
        </uc:StandardDialog>
    <!--</Popup>-->

在后面的代码中:

    private void LoginClicked(object sender, RoutedEventArgs e)
    {
        StandardDialog.IsOpen = true;
        //LoginPopup.IsOpen = true;
    }
    private void CloseLoginPopup(object sender, RoutedEventArgs e)
    {
        StandardDialog.IsOpen = false;
        //LoginPopup.IsOpen = false;
    }

然而,由于以下错误而失败,该错误指向上面的行:

错误1名称"StandardDialog"在当前上下文C:''NSyncHg''MyApp.WinRT''Views''TestVisualAwarePage.xaml.cs 46 13 MyApp.WinRT

但是,如果我取消注释上面的弹出窗口并恢复到内置的弹出窗口,则所有内容都会编译并运行。

我做错了什么?

得到错误“;该名称不存在于当前上下文“”中;当试图引用用户控件时

您需要使用x:Name属性,而不仅仅是Name

 <uc:StandardDialog x:Name="StandardDialog" ...

Windows应用商店应用程序不会自动为指定了Name的对象创建字段。如果希望创建一个命名字段并可用于代码隐藏,则x:Name属性是必需的。