inflearn logo
강의

Course

Instructor

MAUI [Cross-Platform Applications & C#]

8) MVVM Pattern Practice + Builder Pattern + Event Handling Methods

8)MVVM Pattern실습 + Builder Pattern +이벤트처리 방법 관련질문

100

mainstarkim0447

2 asked

0

프로젝트 따라가면서 이해안되는 부분이있어 질문 남깁니다!

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>();

이상입니다.
학습자료의 코드와 다른점을 아무리 찾아봐도 안보이는데 따로 해줘야할것이 있을까요?

ios C# azure cross-platform maui

Answer 2

1

mainstarkim0447

https://github.com/dotnet/maui/issues/30595?utm_source=chatgpt.com
.net 9.0에 현재 문제가있다는것을 찾았습니다

1

mainstarkim0447

.net 8.0 환경으로 프로젝트를 새로 만들고 .net 9.0 환경에서 작성한 코드를 복사 붙여넣기 하였을때 정상작동을 확인하였습니다.

1

vmproductor0202

안녕하세요.개발자park입니다.

.NET9로 다시 새로 생성하였으나 정상적으로 동작합니다.

[예상되는 문제점1]

챕터3-8강의 16:02초 FirstPage.xaml.cs에 소스코드를 작성하셨는지
다시 확인해주세요.
[예상되는 문제점2]

챕터3-7강의 2:23초에서의 .NET버전을 9로 선택해줍니다.

그 후 프로젝트에서 마우스 우클릭-> Nuget패키지관리자를 클릭해주십니다.

image.png

 

아래 사진처럼 패키지버전이 9이상인지 확인해주세요.

(사진 크게보기: 사진 클릭 또는,마우스 우클릭-새탭에서 열기)

image.png

 

1

vmproductor0202

그래도 해결이 안되신다면

vmproductor@gmail.com또는

fallingsstar@naver.com으로 솔루션 파일을 압축해서 보내주시면 확인해보겠습니다.

감사합니다.

0

mainstarkim0447

변경하였더니 잘됩니다! 감사합니다.

최신버전으로 설치되어있어서 문제였던것같은데

communitytoolkit.maui 최신버전인 12.1.0 을보면 버전은 맞는것같은데

왜안되었던건가요??

image.png

이것과 프로젝트의 targetframework를 보면

image.png


버전은 맞는것같은데 궁금합니다!

0

vmproductor0202

안녕하세요.개발자park입니다.

최근에 패키지 버전이 올라가면서 패키지의 사용방법이 약간 복잡해진 것으로 보입니다.

출처:https://www.wagenheimer.com/eventocommandbehaviors-dotnet9/

말씀하신 것 처럼 해당 패키지만 다운그레이드 해주시는 것을 현재까지는 추천드립니다.

저도 현재 최신 패키지사용방법은 모르겠습니다.

감사합니다.

0

mainstarkim0447

감사합니다!

OAuth방식 강의 문의

0

9

0

싱글턴패턴

0

3

1

코드 관련 질문

0

21

2

섹션7 수업자료 업로드 부탁드립니다.

0

22

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

19

1

프로젝트 질문 문의

0

45

1

UI 기능 관련 질문이 있습니다!

0

37

2

TLS 질문드립니다.

0

43

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

46

2

수강 기간 연장 문의

0

28

1

픽셀 좌표 스크린 좌표

0

33

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

25

1

수강연장부탁드려도될까요..

0

42

2

Rider대신 VS를 써도 괜찮나요?

0

117

2

Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의

0

218

2

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

41

2

무조건 타이틀 씬부터 시작해야하나요?

0

41

1

Combine Playground 에서 실행 시

0

57

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