
작년 10월부터 같이 일하는 연구원이 한명있어서 몇일전에 궁금한 내용을 물어봤습니다. "지금 인력 시장에서는 c#, wpf 개발자를 구하기가 힘들고, 20대 취업 준비생들은 취업하기가 너무 힘들다고 이야기를 한다. 이 부분에 대해서 어떻게 생각하나요?" 그랬더니 상당히 의외의 답변이 돌아왔습니다. 구직활동을 할 때 c# wpf 진로로 검색을 많이 했는데, 답변으로 달려있는 내용들이 C# WPF 배우면 지방에 있는 공장으로 일하러 가야한다는 이야기가 많아서 공부하기가 싫었다고 하더군요 그 이야기를 듣고 처음에는 엄청 웃으면서 wpf 음해 세력이 있는 것 같다고 했습니다. 그런데, 다시 생각해보니 정확한 정보를 제공해야 할 것 같아서 포스팅을 해봅니다. 1. 제가 진행했던 c#, xaml 프로젝트(wpf, ..

WPF에서 SQLite를 이용해야할 일이 있어서 옛날 포스트를 뒤져보니 너무 오래된 내용들이라 다시 포스팅을 하게되었습니다. 이모티콘 사용하는거 좋네요 ㅎㅎㅎ 1. Project Wpf .NET 5로 생성했습니다. Visual Studio 2022로 프로젝트를 생성하면 프로젝트 파일에 널 비허용 옵션이 들어가니 참고하시면 좋을 것 같습니다. 2. NuGet Package sqlite-net-pcl version 1.8.116 3. 작업 시작 셈플에서는 Northwind_large.sqlite를 이용합니다. Customer.cs 클래스는 Customer 테이블의 데이터 이용하기 위해 만들었습니다. SQLite database file을 미리 열어서 어떤 구조인지 알기 위해서는 툴이 필요합니다. Downlo..

.Net Core 5.0으로 만든 WPF 프로젝트를 ClickOnce로 배포하는 방법에 대해서 알아 보도록 하겠습니다. Visual Studio 2019 버전은 16.11.2를 기준입니다. 1. WPF 프로젝트 생성 Create a new project -> wpf 검색 -> WPF Application 선택 후 Next Project name을 입력 후 Next .NET 5.0 선택 후 Create MainWindow.xaml에 간단한 TextBlock 추가 실행 화면 2. Click Once Publish 프로젝트 마우스 오른쪽 클릭 -> Publish... 선택 Target을 ClickOnce 선택 Publish location 선택 후 Next (기본 값으로 두면 됩니다.) 설치 위치를 지정합니다..

다음 카페에 질문 올려주신 내용에 대해서 간단한 소스를 만들었습니다. 닷넷 (.NET) 프로그래머 모임 | MVVM과 combobox에 대한 질문드립니다. - Daum 카페 1. NuGet Packages Microsoft.Toolkit.Mvvm Microsoft.Xaml.Behaviors.Wpf 2. View (XAML) - Window.DataContext : 뷰모델을 뷰와 연결 시키고 있습니다. - xmlns:b="http://schemas.microsoft.com/xaml/behaviors" : Behavior를 사용하기 위한 네임 스페이스 입니다. - ComboBox는 Command 프로퍼티를 가지고 있지 않습니다. 그래서 ComboBox에서 발생하는 이벤트와 Command를 연결하기 위해서는 ..

WPF에서 기본 로컬라이징 방식은 x:Uid를 이용 합니다. 자세한 내용은 여기를 참고합니다. 그런데, 이 방법은 몇가지 불편한 부분이 있습니다. 예를 들어 "이름"을 로컬라이제이션 한다고 하면 이 "이름'이 Text 프로퍼티에 들어갈때와 Content 프로퍼티에 들어갈때 각각 정의를 해놓고 사용해야하는 부분과 ViewModel에서 직접꺼내 사용하기도 불편 합니다. 그래서 저는 DynamicResource라는 녀석을 만들어서 사용하고 있습니다. 그래서, 이번에 기존에 사용하던 클래스를 약간 수정을 하면서 실행되는 셈플 코드와 함께 공개하게 되었습니다. 여기에 Prism의 기능을 넣고, Telerik 컨트롤의 리소스까지 관리하기 위한 몇가지를 더 추가하면 완벽하게 사용하시는데 문제가 없을 것입니다. Dyn..

UWP에는 MenuFlyout이 있어서 버튼이나 특정 컨트롤에 넣어 놓으면 클릭했을 때 ContextMenu 처럼 자동으로 표시가 됩니다. 아래 이미지와 같이 표시가 됩니다. WPF에서 위와 비슷한 메뉴를 구성해 보았습니다. 그런데, 이 컨텍스트 메뉴는 마우스 오른쪽 클릭을 했을 때만 나오기 때문에, 왼쪽 클릭시에도 열리도록 만들기 위해 Behavior를 추가했습니다. 추가한 Nuget package는 Microsoft.Xaml.Behaviors.Wpf 입니다. XAML에 namespace를 추가하고 EventTrigger와 ChangePropertyAction을 이용해서 컨택스트 메뉴가 열리도록 수정했습니다. Telerik RadContextMenu를 이용하면 버튼 바로위에 이쁘게 메뉴를 출력할 수 있..

Memory Leak? 컴퓨터 과학에서 메모리 누수(memory leak)는 더 이상 필요하지 않은 메모리가 해제되지 않는 방식으로 컴퓨터 프로그램이 메모리 할당을 잘못 관리 할 때 발생하는 일종의 리소스 누수입니다. 객체가 메모리에 저장되어 있지만 실행중인 코드에서 액세스 할 수없는 경우에도 메모리 누수가 발생할 수 있습니다. 메모리 누수는 다른 여러 문제와 유사한 증상을 가지며 일반적으로 프로그램의 소스 코드에 액세스 할 수있는 프로그래머에 의해서만 진단 될 수 있습니다. 메모리 누수 셈플은 여기를 참고했습니다. 이 포스트에는 DotMemory, PerfView, OzCode를 이용하는 방법에 대해서도 설명이 있으니 참고하시면 좋을 것 같습니다. 메모리 누수 발생 샘플 MainWindow.xaml.c..

.NET Core WPF 프로젝트를 개발하다가, 현재 윈도우의 WorkingArea 정보를 확인 해야할 필요가 있어서 찾아보니 System.Windows.Forms.Screen을 이용해야 한다네요. .Net Framework 프로젝트에서는 Add Reference를 이용해서 System.Windows.Forms를 추가하면 되었는데, .NET Core에서는 추가 할 수가 없어서.. 다시 검색을 하니 아래와 같은 방법을 이용하면 된다고 합니다. 프로젝트 파일에 UseWindowsForms를 true로 지정하면 끝~ WinExe net5.0-windows true true 그래서 간단한 예제를 만들어 보았습니다. public partial class MainWindow : Window { public Main..

Prism에서 Telerik의 Docking을 Region으로 이용해서 화면을 출력할 때 필요한 기능입니다. 기본적인 내용은 git에 올라와있는데, Prism 버전이 옛날 버전이라 최신(7.0 이상) 버전에서도 사용 가능하도록 수정했습니다. telerik/xaml-sdk: The XAML SDK is an easy-to-use infrastructure with 1000+ developer focused examples for most of the Telerik WPF and Silverlight controls. (github.com) telerik/xaml-sdk The XAML SDK is an easy-to-use infrastructure with 1000+ developer focused ex..

Differences Between xamGrid and xamDataGrid - Infragistics WPF™ Help Differences Between xamGrid and xamDataGrid - Infragistics WPF™ Help This topic compares, both conceptually and through side-by-side feature comparison, the xamGrid™ and xamDataGrid™. Its purpose is to help you decide which grid to use in your application. www.infragistics.com Topic Overview 이 항목에서는 xamGrid ™ 및 xamDataGrid ™를 개..
- Total
- Today
- Yesterday
- visual studio 2019
- Windows 10
- C#
- Bot Framework
- XAML
- WPF
- dotNETconf
- #prism
- Microsoft
- #MVVM
- UWP
- uno platform
- #Windows Template Studio
- kiosk
- Visual Studio 2022
- ComboBox
- #uwp
- .net
- windows 11
- IOT
- Behavior
- .net 5.0
- ef core
- Cross-platform
- MVVM
- LINQ
- uno-platform
- #XAML
- PRISM
- Build 2016
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |