8)MVVM Pattern실습 + Builder Pattern +이벤트처리 방법 관련질문
103
작성한 질문수 2
프로젝트 따라가면서 이해안되는 부분이있어 질문 남깁니다!
mvvm 바인딩이 안되는것같아 질문드립니다.
( 다른파일 ex) listdetaileasyviewmodel은 잘됩니다)
firstpage 관련 강의를 따라가고 있던중 binding 이안됩니다...
올려주신 학습자료는 .net 8.0 으로 변경후 (.net 7.0은 지원중단되어 안되더라구요 ) 실행하면 firstpage에서 binding이되어 중단점이 찍히는것을 확인했으나
.net 9.0 환경에서 작성한 코드가 binding이
DataRefresh 에 안찍힙니다.
firstpage xaml에서 binding에 자동완성으로
DataRefreshCommand 가 뜨는 것은 확인했습니다.
혹시 실수를 하였나 다시 살펴봐도 오타가있거나 경로를 잘못하였나 살펴봐도 다른점이없는데 혹 .net 9.0에서 바뀐것이 있는지 다른 설정을 해줘야하는것이 있는지 궁금합니다.
혹시몰라 코드 첨부합니다.
[FirstViewModel.cs]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MAUI_MVVM_STUDY2.ViewModels
{
public partial class FirstViewModel : BaseViewModel
{
[ObservableProperty]
Person person;
//함수와 연결하고자 할때는 xaml 에서 ClearCommand를 바인딩해주면됨
//비동기 함수로 생성할 경우 aync키워드를 동일하게 사용해주면됨
[RelayCommand]
public async void DataRefresh()
{
Person abc = new Person();
abc = new Person();
abc.Age = 30;
abc.Name = "KIM";
this.Person = abc;
}
}
}
[FirstPage.xaml]
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MAUI_MVVM_STUDY2.Views.FirstPage"
xmlns:vm="clr-namespace:MAUI_MVVM_STUDY2.ViewModels"
xmlns:m="clr-namespace:MAUI_MVVM_STUDY2.Models"
x:DataType="vm:FirstViewModel"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Title="FirstPage">
<VerticalStackLayout>
<Label
Text="Welcome to .NET MAUI!"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Label Text="{Binding Person.Age}"/>
<Button Text="hello" IsEnabled="True" >
<Button.Behaviors>
<toolkit:EventToCommandBehavior
EventName="Clicked"
Command="{Binding DataRefreshCommand}" />
</Button.Behaviors>
</Button>
</VerticalStackLayout>
</ContentPage>
[AppShell.xaml 일부 ]
<ShellContent
Shell.NavBarIsVisible="true"
Title="First"
Icon="icondrawing.png"
ContentTemplate="{DataTemplate views:FirstPage}"
Route="FirstPage" />
[mauiprogram.cs 일부]
builder.Services.AddSingleton<FirstPage>();
builder.Services.AddSingleton<FirstViewModel>();
이상입니다.
학습자료의 코드와 다른점을 아무리 찾아봐도 안보이는데 따로 해줘야할것이 있을까요?
답변 2
1
https://github.com/dotnet/maui/issues/30595?utm_source=chatgpt.com
.net 9.0에 현재 문제가있다는것을 찾았습니다
1
안녕하세요.개발자park입니다.
.NET9로 다시 새로 생성하였으나 정상적으로 동작합니다.
[예상되는 문제점1]
챕터3-8강의 16:02초 FirstPage.xaml.cs에 소스코드를 작성하셨는지
다시 확인해주세요.
[예상되는 문제점2]
챕터3-7강의 2:23초에서의 .NET버전을 9로 선택해줍니다.
그 후 프로젝트에서 마우스 우클릭-> Nuget패키지관리자를 클릭해주십니다.

아래 사진처럼 패키지버전이 9이상인지 확인해주세요.
(사진 크게보기: 사진 클릭 또는,마우스 우클릭-새탭에서 열기)

1
그래도 해결이 안되신다면
vmproductor@gmail.com또는
fallingsstar@naver.com으로 솔루션 파일을 압축해서 보내주시면 확인해보겠습니다.
감사합니다.
0
변경하였더니 잘됩니다! 감사합니다.
최신버전으로 설치되어있어서 문제였던것같은데
communitytoolkit.maui 최신버전인 12.1.0 을보면 버전은 맞는것같은데
왜안되었던건가요??

이것과 프로젝트의 targetframework를 보면
버전은 맞는것같은데 궁금합니다!
0
안녕하세요.개발자park입니다.
최근에 패키지 버전이 올라가면서 패키지의 사용방법이 약간 복잡해진 것으로 보입니다.
출처:https://www.wagenheimer.com/eventocommandbehaviors-dotnet9/
말씀하신 것 처럼 해당 패키지만 다운그레이드 해주시는 것을 현재까지는 추천드립니다.
저도 현재 최신 패키지사용방법은 모르겠습니다.
감사합니다.
public string Title { get; set; } 에서 WFO1000 오류가납니다.
0
18
0
Lessons 3 & 4 don't have subtitles unfortunately
0
23
1
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
33
2
강의자료 누락
0
46
1
매니저 관련 질문이 있습니다.
0
54
2
언리얼 에디터에서 에이젼트 실행 질문
0
40
1
유니티 허브 다운로드
1
40
2
Rider 설치시 타깃 프레임워크 설정
0
38
2
강의자료 누락
0
25
1
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
56
2
UserDataManager 클래스 hasSaveError 처리
0
35
2
제공해주신 자료에 스크립트들이 빠져있습니다
0
31
2
Vulkan Surface 슬라이드 오류
0
16
1
OAuth방식 강의 문의
0
56
1
싱글턴패턴
0
36
2
코드 관련 질문
0
38
2
섹션7 수업자료 업로드 부탁드립니다.
0
39
2
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
30
1
프로젝트 질문 문의
0
68
1
UI 기능 관련 질문이 있습니다!
0
55
2
안드로이드 에뮬레이터는 실행되는데 없다고 인식
0
194
3
Microsoft.Maui.Controls Update후 오류발생
0
167
2
앱 업데이트 관련 질문
0
168
2
Oracle DB 를 이용한 예제
0
200
1





