본문 바로가기

프로그래밍 언어30

[C#] WPF - 토글 스위치(Toggle Switch) 생성 토글 스위치가 필요하여 구글링으로 알게 된 내용과 구현하고자 하는 방식에 차이가 있어 일부 내용을 수정하여 만들게 되었다. 수정하던 중 이상한 현상이 있어 내용을 기록해 본다. 1. Animation 사용 위 이미지의 토글 스위치에서 IsChecked = True일 경우, Border 배경 색상이 변경된다. 이 코드를 Storyboard에서 Animation으로 설정했는데, 토글 버튼인 Ellipse를 이동시키는 Animation과 함께 사용된다. 아래 코드를 보면 ColorAnimation과 ThicknessAnimation이 함께 사용됨을 확인할 수 있다. 이렇게 사용하면 IsChecked 속성 변경 시 배경색이 변경되며 토글 버튼이 이동하는데, 이상한 점은 xaml에서 IsChecked 속성을 변경.. 2023. 12. 26.
[C#] 프로그램에서 URL 열기, 브라우저 설정 1. 프로그램에서 URL 열기 프로그램에서 URL을 열기 위해서는 Process 클래스를 사용한다.(System.Diagnostics.Process) URL을 열기 위해 구글링 해봤는데, 역시 stackoverflow에 그 해답이 있었다. 아래 코드를 살펴보면 다음과 같이 동작을 수행한다. OS Platform에 따라서 url 수정을 진행.(&가 다르게 인식되어 그런 듯) ProcessStartInfo에 url과 UseShellExecute 설정을 정의. Process.Start()로 실행 특정 경로가 아닌 URL(www.google.com과 같은)은 그냥 Process.Start()로 열린다고 다른 블로그에 설명되어 있으나, 아래 예와 같이 특정 경로를 포함한다면 Process.Start()로 바로 열.. 2023. 12. 18.
[C#] WPF - 특정 프로세스 Focus 여부 판단 방법 이 글은 VisualStudio 환경에서 WPF 개발 시 MainWindow 코드에서 특정 프로그램이 Focus 되었을 때 어떤 동작(MainWindow 색상 조절과 등)을 수행해야하는 경우, Win32 dll을 Import하지 않고 기본으로 제공되는 EventHandler를 사용하는 방법에 대한 설명이다. 첫 번째 : UIAutomationClient 참조 추가. VisualStudio(이 글에서 사용하는 버전은 VS2015) 에서 참조 → 참조 추가를 클릭한다. 어셈블리 → 프레임워크 → UIAutomationClient 포함한 4개항목 선택 → 확인 버튼을 클릭하여 참조 추가를 진행한다. 이후 아래 네임스페이스를 참조 추가해준다. Diagnostics는 Process ID 비교를 위해 사용되고, A.. 2023. 1. 9.
[C#] WPF - DataGrid의 ForeColor 변경 시 에러 방지 WPF에서 DataGrid를 사용하다 보면 특정 DataGridTextColumn에 Forground 또는 Background 색상을 설정해야 할 필요가 있다. Dynamic 하게 표시하기 위해서 열 단위로 생성하는 경우, Thread 내부에서 데이터 바인딩을 통해 설정한 Foreground 색상을 설정하고 실행해 보면 색 설정이 적용되지 않은 경우가 있는데, Foreground 또는 Background와 같은 특정 속성에 대해서는 Freeze()를 해줘야만 적용된다. 아래와 같이 DataTextColumn에서 Name 헤더의 글자색, Foreground를 상태에 따라 변경하고싶은 경우, Foreground에 대하여 ForeColor로 바인딩 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 .. 2022. 10. 26.