Language53 [C#/WPF] StackOverflowException 발생 1. 실행시켰을 때 System.StackOverflowException: System.StackOverflowException 형식의 예외가 Throw 되었습니다. 라는 내용의 에러가 발생함 Stack Overflow 에러는 일반적으로 무한 재귀 호출과 같은 무한 루프에서 발생하는 문제라고 함 추가한 코드들을 하나씩 주석처리 하면서 문제가 발생한 부분을 찾아보았음 클래스를 생성하고 부모 클래스를 지정하려고 " : MainWindow " 를 클래스 이름 뒤에 붙였는데 이 부분이 문제인 것 같음 MainWindow 클래스 내부에서 또 다른 클래스를 상속하고 있을 경우(MainWindow의 부모클래스가 있을 경우), 이런 다중 상속 구조에서 메서드 이름 충돌 등으로 무한루프가 발생할 수 있다고 함 자식 클래.. 2023. 3. 23. [C#/WPF] Border를 Button처럼 사용하기 1. Border를 활용해서 다양한 모양의 Button을 만들어 활용하고 싶었음 Mouse Button이 Border위에서 Down, Up 될 때 각각의 Border Thickness를 변경시켜 눌리는 것 처럼 구현 private void buttonDown (object sender, MouseButtonEventArgs e) { BD1.BorderThickness = new Thickness(5); } private void buttonUp(object sender, MouseButtonEventArgs e) { BD1.BorderThickness = new Thickness(2); } 2. Border가 늘어날 수록 메서드의 갯수가 늘어나서 코드가 길어짐 모든 Border에 공통적으로 적용 할 수 .. 2023. 3. 23. [C#/WPF] IsMouseCaptured IsMouseCaptured 속성을 MS문서에서 찾아보면, " 이 요소에 마우스가 캡쳐되는지 여부를 나타내는 값을 가져옵니다. " 라고 되어있는데, 이 부분이 잘 이해가 가지 않아서 더 자세한 내용을 찾아보았다. 마우스 캡쳐(Mouse Capture)란, 마우스 포인터가 특정한 요소 위에 있을 때 그 요소가 마우스 입력을 전체적으로 포착(Capture)하고, 해당 요소 외부에서도 마우스 이벤트를 수신할 수 있게 하는 기능 마우스 캡쳐를 사용하면 마우스 이벤트를 처리하는 중에 다른 요소로 포커스가 이동하거나, 마우스 버튼을 누른채로 요소를 벗어나는 경우에도 예기치 않은 동작을 방지할 수 있다 https://jngsng.tistory.com/56 [WPF/C#] Border를 Button처럼 사용하기 1. .. 2023. 3. 20. [C#/WPF] 시리얼 통신 중 메모리 누수? 1. 테스트용 시리얼 통신 프로그램을 디버깅 하는데 프로세스 메모리가 계속 증가하는 현상이 발생 Console.Writeline 메서드는 출력버퍼에 데이터를 저장하므로, 이 메서드를 반복적으로 사용할 경우 출력버퍼에 데이터가 계속 쌓여 메모리 누수가 발생할 수 있음 Console.Clear를 사용하여 출력 버퍼를 지워주는 방법 적용 2. Console.WriteLine 후 Console.Clear를 사용하게되면 수신한 데이터를 확인 할 수 없음 Console.SetCursorPosition 메서드를 사용해서 이전에 출력된 데이터의 시작 위치를 기억한 후 해당 다음 데이터는 해당 부분부터 출력될 수 있도록 수정 3. 출력은 원하는대로 잘 나오지만, 프로세스 메모리 증가는 해결되지 않음 SerialPort의.. 2023. 3. 20. [C#/WPF] Trigger Trigger도 Style로 만들어 일괄적으로 적용할 수 있다. (Control.IsMouseCaptured 가 True면, Foreground를 Green으로 변경) // xaml ... ... * IsMouseCaptured >> 이 요소에 마우스가 캡쳐되는지 여부를 나타내는 값을 가져옵니다. https://jngsng.tistory.com/54 [WPF/C#] IsMouseCaptured IsMouseCaptured 속성을 MS문서에서 찾아보면, " 이 요소에 마우스가 캡쳐되는지 여부를 나타내는 값을 가져옵니다. " 라고 되어있는데, 이 부분이 잘 이해가 가지 않아서 더 자세한 내용을 찾아보았 jngsng.tistory.com 23.03.23 예제 추가 (CheckBox1의 IsChecked 속성이.. 2023. 3. 20. [C#/WPF] Style (TextBlock) 많은 TextBlock에 각각 속성을 적용하게되면, 일괄적으로 수정할 내용이 있을때 하나하나 변경해야한다. // xaml // 폰트사이즈를 변경하려면 각각의 폰트사이즈를 변경해야 함 ... Style을 만들어 TextBlock들에 적용을 시켜두면 Style Setter에서 일괄적으로 수정이 가능하다. // xaml ... ... ++ 23.08.02 여러개의 페이지나 윈도우에서 공통적으로 사용하는 Style이 있다면, App.xaml 내에서 스타일을 지정해주면 모두 사용 가능하다. 2023. 3. 10. 이전 1 2 3 4 5 6 7 ··· 9 다음