인프런 커뮤니티 질문&답변

야무GYM님의 프로필 이미지
야무GYM

작성한 질문수

[C#/.NET 7.0]어서와, WPF는 처음이지?

DB CRUD를 쉽고 간편하게? 정답은 EntityFrameworkCore !!

코드 비하인드에서 오류가 생겼습니다. ( 현재 컨텍스트에 없습니다. )

작성

·

168

1

using System.ComponentModel;
using Wpf.Ui.Controls;
using wpf_ui_project.ViewModels.Pages;

namespace wpf_ui_project.Views.Pages
{
    public partial class DataPage : INavigableView<DataViewModel>
    {
        public DataViewModel ViewModel { get; }

        public DataPage(DataViewModel viewModel)
        {
            ViewModel = viewModel;
            DataContext = this;

            ViewModel.PropertyChanged += ViewModel_PropertyChanged;
            InitializeComponent();
        }

        private void ViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
                case "AdministrativeAgency":
                    this.searchGridLoadingCotnrol.Visibility = Visibility.Collapsed;
                    this.searchGrid.Visibility = Visibility.Visible;
                    break;

                case "GangnamguPopulations":
                    this.dgGridLoadingControl.Visibility = Visibility.Collapsed;
                    this.dgGrid.Visibility = Visibility.Visible;
                    break;
            }

        }

    }
}

이 코드에 원래 에러가 안떴었는데, 어느 순간 에러가 생겼습니다.

DataContext = this;

InitializeComponent();

this.searchGridLoadingCotnrol

this.searchGrid this.dgGridLoadingControl

this.dgGrid

이 코드들에 밑줄이 그어졌습니다.

DataContext 랑 InitializeComponent 이름이 현재 컨텍스트에 없다는 오류메세지가 떴습니다.
어떻게 해결해야하나요?

답변 2

0

같은 에러가 떴어요. 혹시 해결되셨나요

0

안녕하세요, 인프런 AI 인턴입니다.

야무GYM 님, 제시해주신 코드에서 발생하는 문제에 대해 살펴보겠습니다. 지금 겪고 계시는 문제는 일반적으로 XAML 파일과 연동된 C# 부분의 코드인 ‘Code-behind’에서 발생할 수 있는 것으로 보입니다. DataContext = this;InitializeComponent(); 같은 코드들이 “현재 컨텍스트에 없다”는 에러 메시지와 함께 인식되지 않는 문제는, 대부분 XAML 파일과의 연결 문제나, 네임스페이스/어셈블리 참조 문제일 수 있습니다.

먼저, 해결 방안으로 다음 단계를 확인해보시기 바랍니다:

  1. XAML 파일 확인: 현재 DataPage.xaml.cs 코드 비하인드 파일이 DataPage.xaml 파일과 제대로 연결되어 있는지 확인하세요. XAML 파일의 상단에 있는 <Window 혹은 <UserControl 태그 내에 x:Class="wpf_ui_project.Views.Pages.DataPage" 속성이 올바르게 설정되어 있는지 확인해야 합니다. 이 속성 값은 코드 비하인드 파일의 네임스페이스와 클래스명과 정확히 일치해야 합니다.

  2. 네임스페이스 확인: DataPage 클래스가 속해 있는 네임스페이스가 XAML 파일상에서 올바르게 참조되고 있는지 확인하세요. XAML에서 사용하는 컨트롤에 대한 네임스페이스 선언이 정확한지 검토하시기 바랍니다.

  3. 프로젝트 빌드 상태 확인: 때때로 이러한 문제는 프로젝트나 특정 파일의 빌드 상태에 문제가 있을 때 발생할 수 있습니다. 솔루션을 깨끗하게(Clean) 하고, 다시 빌드(Build) 해보세요.

  4. 어셈블리 참조 확인: Wpf.Ui.Controls나 다른 외부 라이브러리를 사용하는 경우, 해당 어셈블리가 프로젝트에 올바르게 참조되고 있는지 확인하세요. 참조가 누락되거나 손상된 경우에도 이러한 문제가 발생할 수 있습니다.

  5. Visual Studio 상태 확인: Visual Studio의 IntelliSense 오류나 임시 파일 문제로 인해 가끔 잘못된 오류가 표시될 수 있습니다. Visual Studio를 재시작하거나, 캐시를 지운 후 프로젝트를 다시 열어보세요.

위 단계를 모두 시도한 후에도 문제가 해결되지 않는 경우, 보다 구체적인 환경(프로젝트 구조, 사용 중인 Visual Studio 버전 등)을 함께 검토해야 할 수도 있습니다.

야무GYM님의 프로필 이미지
야무GYM

작성한 질문수

질문하기