2024년

[MAUI 기본] 데이터바인딩 – Relative Binding

이번에는 데이터바인딩을 구현하면서 사용하는 Relative Binding 에 대해서 알아보겠습니다.  MS  공식 사이트에서는 아래와 같이 Relative Binding 에 대해서 설명되어 있습니다. “.NET Multi-platform App UI (.NET MAUI)의  상대 바인딩(relative bindings) 은 바인딩 대상의 위치를 기준으로 바인딩 소스를 설정할 수 있는 기능을 제공합니다. 이러한 바인딩은 RelativeSource 마크업 확장(RelativeSource markup extension) 을 사용하여 생성되며, 바인딩 표현식에서 Source 속성으로 설정됩니다.” 개인적으로 Winform 만 사용하다가 WPF, […]

[MAUI 기본] 데이터바인딩 – 바인딩 모드

이번에는 데이터 바인딩 모드에 대해서 간단하게 정리해 보겠습니다.  데이터 바인딩 모드는 데이터가 View(뷰, UI)와 ViewModel(데이터 소스) 사이에서 어떻게 흐를지를 결정하는 방식입니다. 여기에는 다양한 바인딩 모드가 있으며, 각 모드는 데이터 흐름의 방향을 정의합니다. 자주 사용되는 바인딩 모드는 다음과 같습니다. 1. OneWay (단방향) 2. TwoWay (양방향) 3. OneWayToSource (단방향 소스로) 4. OneTime (한 번만) 5. Default (기본 모드) 요약 이렇게 각 바인딩 모드는 데이터가 흐르는 방향과 방식을 설정하는

[MAUI 기본] 데이터바인딩 – 기본 개념

데이터 바인딩(Data Binding)은 UI 요소와 데이터 소스 간의 연결을 설정하여, 데이터가 변경될 때 UI가 자동으로 업데이트되도록 하는 기술입니다. 이를 통해 코드의 유지보수성과 재사용성을 높일 수 있습니다. MAUI 에서 데이터 바인딩은 XAML이나 코드에서 구현할 수 있지만, 코드 비하인드 파일의 크기를 줄이는 데 도움이 되는 XAML에서 정의하는 것이 훨씬 더 일반적입니다. 아래는 간단한 개념도입니다. 간단한 예제를 통해서

[MAUI 기본] MVVM 개요

MAUI 에서 자주 사용하는 MVVM 패턴에 대해서 간단하게 설명드리겠습니다. MVVM 패턴  MVVM은 모델(Model), 뷰(View), 뷰모델(ViewModel)의 약자로, 이 패턴의 세 가지 구성 요소를 나타냅니다.  아래 다이어그램은 MS 공식 사이트에서 제공하는 MVVM 패턴의 구성요소를 설명하는 다이어그램입니다.  Model MVVM 패턴에 Model은 애플리케이션의 데이터와 데이터와 관련된 비즈니스 로직을 관리하는 구성 요소입니다. Model 은 일반적으로 비즈니스 및 유효성 검사 논리와 함께 데이터 모델을 포함하는  도메인

[MAUI 기본] Page Navigation

일반적으로 어플리케이션은 여러개의 페이지로 구성되어 있습니다. 이번 장에서는 여러개의 페이지를 구성하는 방법에 대해서 간단히 살펴보겠습니다. 우선 샘플 소스를 보기 전에 MAUI 프로젝트를 생성하면 기본적으로 만들어지는 AppShell 에 대해서 알아보도록 하겠습니다. AppShell은 .NET MAUI 애플리케이션에서 네비게이션 구조를 정의하고 관리하는 데 사용되는 클래스입니다. AppShell을 사용하면 애플리케이션의 페이지 전환과 네비게이션을 쉽게 설정할 수 있습니다. 주요 용도는 다음과 같습니다. 이번에는

[MAUI 기본] 공유리소스 활용하기

어플리케이션을 개발할 때 소스의 여러곳에서 공통적으로 사용하는 리소스를 정의하여 사용하는 경우가 많습니다. 이번에는 공유리소스 파일을 생성하고, 리소스파일에 정의한 내용을 xaml 에서 사용하는 간단한 예제를 설명하겠습니다.  [SharedResources.cs] 간단하게 static class 를 생성하고 readonly 로 FontColor  를 선언하였습니다. 이제 xaml 파일에서 해당 속성을 참조하여 텍스트 색상을 변경하는 예제를 살펴 보겠습니다. 위의 소스를 보면 ContentPage 의 namespace 선언

[MAUI 기본] 플랫폼별 다른 속성 지정하기

MAUI 를 사용하여 개발을 진행할 때 플랫폼별로 다른 디자인 속성을 정의해야 할 필요성이 있을 때가 있습니다. 이러한 때 사용할 수 있는 방법을 소개합니다.  두가지 방식을 사용할 수가 있는데요. codebehind 파일에서 프로그래밍적으로 정의할  수도 있고 xaml 파일에서 정의할 수도 있습니다.   (MainPage.xaml) 기본 템플릿에서 제공되는 MainPage.xaml 입니다. MainPage.xmal.cs 파일에 플랫폼별로 VerticalStackLayout 의 배경색을 변경하는 코드를 추가해보겠습니다. codebehind

[MAUI 기본] Mac 기반 Window VM 에서 Android Emulator 사용하기

Mac 에서 일반적으로 Window 를 사용하기 위해서는 일반적으로 Parallels 를 사용하게 된다. .NET MAUI 를 공부하면서 Android 에뮬레이터를 사용해야 했지만, Parallel 을 사용하는 경우 ARM 기반의 Windows 환경에서는 Android Emulator 를 실행하는 것이 쉽지가 않다.  이러한 경우, VM 기반으로 실행하는 Windows 에서 Mac 에서 실행되는 Android Emulator 에 연결하는 방식으로 Android Emulator 를 사용할 수