일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- db
- React JS
- 자바스크립트
- typescript
- 닷넷
- 함수
- 파이어베이스
- JavaScript
- MSSQL
- 리엑트
- MVVM
- .NET
- 깃허브
- MS-SQL
- spring boot
- Animation
- Flutter
- 바인딩
- 마우이
- Binding
- 애니메이션
- Firebase
- Maui
- GitHub
- listview
- HTML
- AnimationController
- 플러터
- 오류
- page
- Today
- Total
목록닷넷 (16)
개발노트
드디어 CommunityToolkit 누겟에서 MAUI앱에서 동영상을 재생할 수 있게 만들어주는 기능이 추가되었습니다. (정식버전 아님) 이 누겟은 .NET 7.0 과 같이 배포하는 것을 목표로 하기때문에 .NET 7으로 업데이트하는 것을 권장드립니다. 또한, .NET 7.0은 안드로이드 API 33을 타깃으로하며, 닷넷 업데이트 시, 원래있던 안드로이드 API 32, 31, 30 등 지워 버 리기 때문에.. 타깃 API가 33이하라면 주의가 필요합니다. 아래 설명은 이를 이용한 동영상 기능구현으로, 기존에 개발중인 프로젝트가 .NET 7이 아니라면 호환성 문제로 여러 오류와 마주하게 되니 주의가 필요합니다. - 참고링크: https://blog.verslu.is/maui/mediaelement-for-..
모바일에는 Dark Mode라는 기능으로 핸드폰의 테마를 변경할 수 있다. 다크모드, 라이트모드에서의 Control의 Color 동일하다면 사용자입장에서 불편을 겪을 수 있다. 이를 해결하기 위해 Control에서 {AppThemeBinding} 태그 확장을 이용하여 Color 뿐만 아니라 다크모드, 라이트모드에서의 Property 값을 지정할 수 있다. - 참고링크: https://learn.microsoft.com/ko-kr/dotnet/maui/xaml/markup-extensions/consume#appthemebinding-markup-extension XAML 태그 확장 사용 - .NET MAUI .NET MAUI XAML 태그 확장은 다양한 원본에서 요소 특성을 설정할 수 있도록 하여 XAM..
이번 시간에는 Stopwatch를 이용하여 화면이 생성되고 나서부터 10초간 시간제한이 있는 화면을 만들어본다. MVVM 패턴으로 ViewModel에 있는 스톱워치를 View에 바인딩( Binding)하여 특정시간에 알림과 화면이 사라지는 기능을 추가한다. - 참고링크: https://learn.microsoft.com/ko-kr/dotnet/api/system.diagnostics.stopwatch?view=net-6.0 Stopwatch 클래스 (System.Diagnostics) 경과 시간을 정확하게 측정하는 데 사용할 수 있는 일련의 메서드와 속성을 제공합니다. learn.microsoft.com 1. Stopwatch의 시간을 볼 수 있도록 QnAPage.xaml(Voew)에 InTime이라는 ..
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..
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 )를 ..
Image와 Slider의 x:Reference를 이용하여 이미지를 회전시키는 기능을 만들어보자. *Entry를 이용하여 회전 각도에 대한 쌍방향(TwoWay)바인딩 기능을 추가로 만들자. 모두 컨트롤에 있는 Property 바인딩으로 가능하기 때문에 마크업 소스만 작성하면된다. 1. Image Source에 들어갈 이미지파일을 프로젝트에 넣어준다. *Resources > Image 에 star.jpg 라는 Image 파일을 넣어줌 2. 마크업 소스를 아래와 같이 작성한다. 2-1) Image 컨트롤의 이름을 x:Name = "img1"으로 정하고 Slider 이름은 x:Name = slider1 으로 정한다. 2-2) Image에 회전 값을 넣을 수 있는 Rotation Property에 x:Refer..
IValueConverter 를 이용하여 특정 string 값이 되었을때 Bool형인 True를 반환하는 기능을 구현해본다. - 정답일 때 Entry입력이 불가능하도록 IsEnabled Property의 값을 False 주고 오답일때 입력이 가능하도록 True를 주는 기능을 구현해보겠다. 1. Page10.xaml 마크업에 간단한 문제를 만든다. 2. ViewModel에 Xaml에 있는 Entry의 Text를 바인딩하기 위해 아래와 같이 3개의 Answer를 선언해준다. *문제 정보를 갖는 객체를 만들어서 Model쪽으로 처리하는게 좋을 것 같다. (질문, 답지, 해설, 점수 등의 변수를 갖는..?) 나중에 생각하기로 하고, 우선 ViewModel에 바로 구현해준다. using System; using ..