8)MVVM Pattern실습 + Builder Pattern +이벤트처리 방법 관련질문
100
2 asked
프로젝트 따라가면서 이해안되는 부분이있어 질문 남깁니다!
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>();
이상입니다.
학습자료의 코드와 다른점을 아무리 찾아봐도 안보이는데 따로 해줘야할것이 있을까요?
Answer 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/
말씀하신 것 처럼 해당 패키지만 다운그레이드 해주시는 것을 현재까지는 추천드립니다.
저도 현재 최신 패키지사용방법은 모르겠습니다.
감사합니다.
OAuth방식 강의 문의
0
12
0
싱글턴패턴
0
7
1
코드 관련 질문
0
21
2
섹션7 수업자료 업로드 부탁드립니다.
0
22
2
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
19
1
프로젝트 질문 문의
0
46
1
UI 기능 관련 질문이 있습니다!
0
37
2
TLS 질문드립니다.
0
43
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
47
2
수강 기간 연장 문의
0
28
1
픽셀 좌표 스크린 좌표
0
33
0
Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?
0
25
1
수강연장부탁드려도될까요..
0
42
2
Rider대신 VS를 써도 괜찮나요?
0
117
2
Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의
0
220
2
LobbyUIController의 백키가 사라졌는데 왜그런건가요?
0
42
2
무조건 타이틀 씬부터 시작해야하나요?
0
41
1
Combine Playground 에서 실행 시
0
58
2
BaseUI, UIManager
0
51
3
토큰 사용량 및 인증 관련해서 질문드립니다.
0
132
2
안드로이드 에뮬레이터는 실행되는데 없다고 인식
0
190
3
Microsoft.Maui.Controls Update후 오류발생
0
164
2
앱 업데이트 관련 질문
0
164
2
Oracle DB 를 이용한 예제
0
199
1

