인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

uio3512님의 프로필 이미지
uio3512

작성한 질문수

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

Data Binding

제너레이터 질문 있습니다

작성

·

44

0

DataBinding 13분52초 까지 4강을 듣고 있는도중

DashboardViewModel.cs 클래스에서.

[ObservableProperty]

private string? text = string.Empty;

를 적어도

f12 단축키를 입력해서 직접가봤지만 추가가되지 않는것을 눈으로 확인했습니다.

제너레이터가 자동으로 Text 라는 속성을 추가하지 않습니다

 

이로 인해서 DashboardPage.xaml 에서

Text="{Binding ViewModel.Text, Mode = TwoWay}" /> f를 적어주면 Text 속성을 DashboardViewModel 형식에서 찾을 수 없습니다 라고 오류가 나옵니다.

여기서부터 무엇을 건드려야 할까요.

현재 사용중인 비주얼스튜디오 버전은 2022 17.11.2

.Net FrameWork 4.8.09037 버전입니다

답변 1

0

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

뷰모델에서 제너레이터가 제대로 작동하지 않아 텍스트 속성이 자동으로 추가되지 않는 문제를 겪고 계신 것 같습니다. 이 문제는 몇 가지 원인에 따라 발생할 수 있습니다. 해결할 수 있는 몇 가지 방법을 안내드리겠습니다.

  1. Fody 패키지 확인: ObservableProperty에 대한 코드 생성은 일반적으로 Fody와 같은 코드 제너레이터를 사용하여 이루어집니다. 이 패키지가 프로젝트에 제대로 추가되어 있는지 확인해보세요. 만약 누락되었다면 NuGet 패키지 관리자를 통해 Fody와 관련 패키지를 다시 설치해 보세요.

  2. 빌드 수행: 비주얼 스튜디오 또는 Rider와 같은 IDE가 코드 제너레이터를 실행하기 위해서는 빌드가 필요합니다. 프로젝트를 다시 빌드하고 제너레이터가 속성을 만든 것을 확인해 보세요.

  3. 프로젝트 설정 확인: .NET Framework 4.8 환경에서 제너레이터가 잘 동작하는지 확인하세요. 최근 기능들은 .NET Core나 .NET 5 이상에서 좀 더 완전하게 지원되곤 합니다. 가능하다면 .NET Core 혹은 .NET 5 환경에서 한번 시도해보세요.

  4. ObservableProperty 사용 방법: [ObservableProperty] 속성이 올바르게 설정되었는지 확인해주세요. 예시를 정확히 따라 설정했는지도 점검해 보세요.

만약 위의 방법들을 시도해도 문제가 해결되지 않는다면, 관련 오류 메시지를 포함하여 코드를 포럼이나 질문 게시판에 공유하면 다른 개발자나 지식 공유자로부터 추가적인 도움을 받을 수 있습니다.

관련된 학습 자료와 유사한 질문이 있는지 유사한 질문 포럼 링크에서 확인해보시고, 해결할 수 있는 방식으로 접근해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

uio3512님의 프로필 이미지
uio3512

작성한 질문수

질문하기