일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 함수
- 오류
- Binding
- listview
- MS-SQL
- 리엑트
- 애니메이션
- HTML
- React JS
- Animation
- JavaScript
- AnimationController
- Flutter
- 플러터
- 마우이
- spring boot
- MSSQL
- GitHub
- page
- 깃허브
- .NET
- db
- Firebase
- MVVM
- 파이어베이스
- 바인딩
- typescript
- Maui
- 자바스크립트
- 닷넷
- Today
- Total
목록Maui (29)
개발노트
이번 시간에는 Shell을 사용하여 CollectionView에 있는 데이터들을 검색하는 기능과 데이터를 클릭했을 때, 상세페이지로 넘어가는 기능을 구현해 보겠습니다. CollectionView 및 ListView 차이점 CollectionView 에는 데이터를 목록이나 그리드에서 세로 또는 가로로 표시할 수 있다. CollectionView 는 단일 및 다중 선택을 지원한다. CollectionView 에는 셀 개념이 없습니다. 대신 데이터 템플릿으로 목록에 있는 각 항목의 모양을 정의한다. CollectionView 기본 네이티브 컨트롤에서 제공하는 가상화를 자동으로 활용한다. CollectionView 의 API 표면을 줄인다. ListView. 의 많은 속성과 이벤트가 ListView 없다 Col..
트리거 종류 1) 속성 트리거 : Control의 Property를 이용한 기본적인 Trigger 2) 스타일 트리거: Style에 Control에 대한 Trigger를 정의하여 모든 Control에 Trigger를 적용할 때 사용 3) 데이터 트리거: Data를 바인딩하여 Trigger를 발동시킬때 사용 4) 이벤트 트리거: TriggerAction을 Class에 따로 정의하여 특정 Event가 발생했을 때 TriggerAction을 발동시킬 때 사용 5) 다중 트리거: Trigger가 발동하는 조건이 하나 이상일 때 사용 6) 상태 트리거: IsActive 속성이 변경될 때 VisualState를 변경하는 Trigger가 필요할 때 사용 7) 적응 트리거: 창이 지정된 높이 또는 너비가되면 Visua..
시작하기에 전에 MAUI에서 TabbedPage는 Xamarin과 다르게 위치를 지정할 수 없습니다. 탭의 위치를 지정 불가능하다는 점 확인하시고 읽어주시면 감사하겠습니다. 참고링크: https://docs.microsoft.com/ko-kr/dotnet/maui/user-interface/pages/tabbedpage TabbedPage - .NET MAUI .NET MAUI TabbedPage는 페이지의 위쪽 또는 아래쪽에 있는 탭으로 탐색할 수 있는 일련의 페이지로 구성되며, 각 탭은 페이지 콘텐츠를 로드합니다. docs.microsoft.com 1. Tabbed Page 생성하기 1). Page를 새로 생성한다. 2). Page를 생성했다면 디폴트로 적용 되어있는 ContentPage를 Tabbe..
SecureStorage 를 사용하면 App 종료 후, 다시 실행했을 때 값을 다시 불러올 수 있다. 데이터 베이스를 거치지않고 값을 불러올 수 있기 때문에 다양한 기능들을 구현 할 수 있다. - 참고링크: https://docs.microsoft.com/en-us/dotnet/api/xamarin.essentials.securestorage?view=xamarin-essentials SecureStorage Class (Xamarin.Essentials) Provides simple secure storage for key/value pairs. docs.microsoft.com 위와 같이 자마린에서는 Xamarin.Essentials를 참조하여 가능하고, MAUI에서는 Microsoft.maui.Es..
SwipeView : 좌우상하 4개의 방향으로 특정 컨트롤을 밀었을때 Item을 노출시키고 Mode라는 Property로 Execute 또는 Reveal 를 선택 할 수 있다. (또한, Command 나 Invoked 로 이벤트 발생 시킬 수 있음) - 참고링크: https://docs.microsoft.com/en-us/dotnet/maui/user-interface/controls/swipeview SwipeView - .NET MAUI The .NET MAUI SwipeView is a container control that wraps around an item of content, and provides context menu items that are revealed by a swipe ges..
빌드는 되지만 배포가 안되는 현상 평소 궁금했던 컨트롤 예시 프로젝트를 다운받아, F5를 눌러보니 빌드는 성공하지만 배포가생략되는 현상이 발생했다. 아무리 F5를 눌러봐도 아래화면처럼 나옴, 이 현상을 구글링으로 찾아 해결하였다. 해결방법 1) 빌드 > 구성 관리자 2) 배포에 체크가 안되어있는 것을 발견 3) 원하는 프로젝트 빌드 및 배포 체크 4) F5 클릭
Web Server에서 받은 Json 데이터를 MAUI에 연동 시키는 방법을 포스팅 하려고 했으나... Json을 연동하는 방법이 다른 .NET 템플릿(Winform, WFP, ASP, 등..)과 크게 다르지 않기 때문에 이를 CarouselView 라는 새로운 컨트롤에 Jason 데이터를 바인딩해보는 것을 메인으로 소개하겠다. 물론 MVVM 패턴을 유지한다. Jason 파싱하기 1. Model에 Monkeys라는 Entity 클래스를 작성한다. Monkeys.cs using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tas..
이번 시간에는 List가 아닌 ObservableCollection 라는 클래스를 사용하여 ListView에 연동 시켜본다. (MVVM 패턴 유지) - Model: Quest.cs - View: Page21.xaml , Page21.xaml.cs (코드 비하인드) - ViewModel: Page21_ViewModel.cs https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.objectmodel.observablecollection-1?view=net-6.0 ObservableCollection 클래스 (System.Collections.ObjectModel) 항목이 추가 또는 제거되거나 전체 목록이 새로 고쳐질 때 알림을 제공하는 동적 데이터 ..
앱실행시 초기 화면에 원하는 이미지로 주고 싶을때가 있다. 앱실행시 나오는 초기화면을 Splash Screen 라고 하며, 여기에 카카오나 네이버 어플처럼 자신만의 로고를 초기에 띄워주는 기능을 만들어보자. 1. Splash Screen에 사용할 이미지를 프로젝트에 넣는다. 2. 이미지 파일을 우클릭해서 속성에 들어간다. 3. 빌드작업 > MauiSplashScreen을 체크한다. 4. 프로젝트명.scproj 파일을 열어 ItemGroup에 아래와 같이 이미지 파일경로를 넣어준다. 5. 앱이 실행될때 이미지가 실행된다.! 끝!
View에 있는 Control들의 Property는 데이터형식이라서 ViewModel 쪽에서 바인딩 하기가 쉬웠다. string이면 string형, bool형이면 bool형으로 생성해서 Binding 시켜주면 되었기때문이다. 그렇다면, Control에 있는 고유 Task(확장 Method)나 Method 같은 경우에는 어떻게 바인딩 시켜야할까? 위에서 보는 것과 같이 코드 비하인드에 작성하면 코드 한줄이면된다... 굉장히 쉽다, 하지만 코드비하인드에 작성하게되면 View와 ViewModel의 의존성을 높이는 것이기 때문에 그런 짓은 하지않는다. Button 을 눌렀을 때 Image가 움직이는 기능을 예제로 만들면서 Image 컨트롤의 Task(RotateTo, ScaleTo, TranslateTo )를 ..