작성
·
167
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 파일과의 연결 문제나, 네임스페이스/어셈블리 참조 문제일 수 있습니다.
먼저, 해결 방안으로 다음 단계를 확인해보시기 바랍니다:
XAML 파일 확인: 현재 DataPage.xaml.cs
코드 비하인드 파일이 DataPage.xaml
파일과 제대로 연결되어 있는지 확인하세요. XAML 파일의 상단에 있는 <Window
혹은 <UserControl
태그 내에 x:Class="wpf_ui_project.Views.Pages.DataPage"
속성이 올바르게 설정되어 있는지 확인해야 합니다. 이 속성 값은 코드 비하인드 파일의 네임스페이스와 클래스명과 정확히 일치해야 합니다.
네임스페이스 확인: DataPage
클래스가 속해 있는 네임스페이스가 XAML 파일상에서 올바르게 참조되고 있는지 확인하세요. XAML에서 사용하는 컨트롤에 대한 네임스페이스 선언이 정확한지 검토하시기 바랍니다.
프로젝트 빌드 상태 확인: 때때로 이러한 문제는 프로젝트나 특정 파일의 빌드 상태에 문제가 있을 때 발생할 수 있습니다. 솔루션을 깨끗하게(Clean) 하고, 다시 빌드(Build) 해보세요.
어셈블리 참조 확인: Wpf.Ui.Controls
나 다른 외부 라이브러리를 사용하는 경우, 해당 어셈블리가 프로젝트에 올바르게 참조되고 있는지 확인하세요. 참조가 누락되거나 손상된 경우에도 이러한 문제가 발생할 수 있습니다.
Visual Studio 상태 확인: Visual Studio의 IntelliSense 오류나 임시 파일 문제로 인해 가끔 잘못된 오류가 표시될 수 있습니다. Visual Studio를 재시작하거나, 캐시를 지운 후 프로젝트를 다시 열어보세요.
위 단계를 모두 시도한 후에도 문제가 해결되지 않는 경우, 보다 구체적인 환경(프로젝트 구조, 사용 중인 Visual Studio 버전 등)을 함께 검토해야 할 수도 있습니다.