본문 바로가기

프로그래밍 언어/WPF8

[C#] WPF - Round Button 생성 WPF 컨트롤 생성에 있어 Round Button 컨트롤을 만드는 작업은 필수적으로 거치는 단계인듯하다. 가장 자주 사용되고 접근하기 쉬운 컨트롤이 Button이고, 요즘 UI들은 각진 버튼을 보기 어렵기 때문이다. Round Button을 구현함으로써 Style 생성 및 적용 방법과 컨트롤 구현 방법에 대해 알 수 있고, 다른 컨트롤을 생성하기 위한 힌트(아이디어)를 얻을 수 있다. 기본적으로 Button에는 CornerRadius 속성이 없다. 따라서 Button에 Style을 적용, ControlTemplate을 통해 Button의 형태를 재정의한다. 아래 코드는 CornerRadius = 3인 Round Button을 만든 코드이다. ControlTemplate 내부 코드를 보면 먼저 Border.. 2024. 4. 8.
[C#] WPF - 사용자 정의 컨트롤(User Control) / 사용자 지정 컨트롤(Custom Control) WPF Application을 사용하면 기능이 풍부하고 커스터마이징이 가능한 컨트롤을 매우 쉽게 만들 수 있는 'Custom Controls'을 만들 수 있다. Custom controls는 Microsoft에서 제공하는 기본 컨트롤이 사용자의 요구사항을 충족하지 않거나, 타사 컨트롤에 대한 비용을 지불하지 않으려는 경우에 사용할 수 있다. User Control과 Custom Control의 차이점을 살펴보고, Custom Control 생성 방법에 대하여 설명한다. 1. User Control User Control은 기본 컨트롤을 합치고 조합하여 재사용 가능한 XAML로 패키징하는 방법을 제공한다. 사용자 컨트롤은 아래와 같은 경우에 사용된다. 컨트롤이 기본 컨트롤로 구성된 경우(이미 존재하는 여러.. 2024. 1. 9.
[C#] WPF - UI의 모든 컨트롤 가져오기 1. 개요 Winform/WPF를 사용하다보면 UI의 값을 특정 파일에 저장해 두거나, 이후 UI가 Load 될 때 UI 내부 각 컨트롤에 필요한 값을 설정하는 작업이 필요할 때가 있다. 이를 위해서 WPF UI 내부의 모든 컨트롤을 가져오거나, 사용자가 선택한 타입의 컨트롤만 가져오는 메서드가 필요하다. Winform에서 UI 내부 컨트롤 중 사용자가 설정한 컨트롤의 리스트를 가져오는 방법은 예전 글로 작성한 바 있다. https://hvyair.tistory.com/49 [C#] WinForm 의 모든 컨트롤 가져오기 특정 Form의 Control을 가져오려는 경우 Linq의 Cast를 사용하면 된다. 아래는 모든 컨트롤 정보를 리스트로 정의하는 코드이다. 1 2 3 // Control를 가져오려는 .. 2024. 1. 5.
[C#] WPF - 토글 스위치(Toggle Switch) 생성 토글 스위치가 필요하여 구글링으로 알게 된 내용과 구현하고자 하는 방식에 차이가 있어 일부 내용을 수정하여 만들게 되었다. 수정하던 중 이상한 현상이 있어 내용을 기록해 본다. 1. Animation 사용 위 이미지의 토글 스위치에서 IsChecked = True일 경우, Border 배경 색상이 변경된다. 이 코드를 Storyboard에서 Animation으로 설정했는데, 토글 버튼인 Ellipse를 이동시키는 Animation과 함께 사용된다. 아래 코드를 보면 ColorAnimation과 ThicknessAnimation이 함께 사용됨을 확인할 수 있다. 이렇게 사용하면 IsChecked 속성 변경 시 배경색이 변경되며 토글 버튼이 이동하는데, 이상한 점은 xaml에서 IsChecked 속성을 변경.. 2023. 12. 26.