728x90 전체 글200 [WPF DevExpress] GridControl이 하위 객체 속성 변경이 UI에 반영되지 않을 때 해결방법 DevExpress의 GridControl과 함께 사용할 때, 하위 객체의 속성 변경이 UI에 반영되지 않는 문제를 겪는 경우가 있습니다.GridControl에서 중첩 객체의 속성 바인딩은 매우 자주 사용됩니다.Customer.Name, Product.Category.Name과 같은 구조를 바인딩할 때,값은 잘 표시되지만 변경이 반영되지 않는 문제가 발생한다면 어떻게 해야 할까요?이번 글에서는 그 상황을 재현해보고, 이를 해결할 수 있는 방법 두 가지에 대해 소개합니다.시나리오예를 들어 다음과 같이 Order와 Customer 클래스를 포함하는 구조가 있다고 가정합니다.UI에서 변경을 감지할 수 있도록 INotifyPropertyChanged를 상속받는 BindableData도 만들었습니다.public .. 2025. 4. 12. [WPF] WPF ComboBox에서 특정 Enum 항목에만 툴팁 보여주기 WPF에서 ComboBox를 사용할 때, Enum 값을 바인딩하여 항목을 보여주는 경우는 매우 흔합니다.이번 글에서는 네트워크 설정 화면을 예시로 들어, ComboBox의 아이템 중 특정 항목에만 툴팁을 표시하는 방법을 소개합니다.시나리오 사용자는 LAN, WiFi, VPN 중 하나의 네트워크 연결 방식을 선택할 수 있습니다. 이 중 VPN은 보안 연결이 필요하므로, 툴팁을 통해 이를 사용자에게 안내해야 합니다. 다른 항목에는 툴팁을 표시하지 않습니다. VPN 항목에 마우스가 올라갔을 때만 툴팁을 표시해야 합니다. 1. Enum 정의먼저 연결 방식에 대한 Enum을 정의합니다.public enum ConnectionType{ LAN, WiFi, VPN}2. 툴팁 컨버터 구현툴팁을 조.. 2025. 4. 9. 운영체제와 시스템 자원 ⚙️ 운영체제와 시스템 자원 정리운영체제는 컴퓨터를 사용할 때 보이지 않는 곳에서시스템의 동작을 조율하고 자원을 효율적으로 관리하는 핵심 프로그램입니다.이 글에서는 운영체제가 무엇인지, 어떤 자원들을 어떻게 관리하는지를 정리하였습니다.시스템 자원이란?시스템 자원이란 프로그램이 실행되기 위해 반드시 필요한 요소들을 의미합니다.여기에는 컴퓨터의 네 가지 핵심 부품도 포함됩니다.CPU (중앙처리장치)메모리 (RAM)보조기억장치 (SSD, HDD 등)입출력장치 (키보드, 마우스, 프린터 등)컴퓨터 구조 정리 : https://hanav.tistory.com/287운영체제는 이 모든 자원을 효율적으로 분배하고 관리하는 역할을 수행합니다.운영체제란?운영체제는 컴퓨터 시스템의 하드웨어 자원과 실행 중인 프로그램(프로.. 2025. 4. 7. 컴퓨터 구조 기초 (CPU, 메모리, 저장장치, I/O 장치) 💻 컴퓨터 구조 기초 (CPU, 메모리, 저장장치, I/O 장치)컴퓨터를 이루는 기본적인 부품들을 정리해보았습니다.처음 공부하시는 분들도 이해하기 쉽도록 쉽게 풀어썼고,컴퓨터가 어떻게 작동하는지 전반적인 흐름을 알 수 있게 구성해봤습니다~!!1. CPU (Central Processing Unit: 중앙처리장치)CPU는 컴퓨터의 두뇌 역할을 하는 핵심 부품입니다.메모리에 저장된 데이터를 읽고, 해석하고, 실제로 계산하거나 처리하는 역할을 합니다.⏱️ 클럭 속도와 성능CPU가 일을 얼마나 빠르게 처리할 수 있는지는 "클럭 속도(Hz)"로 표현됩니다.하지만 요즘은 CPU 속도가 대부분 상향 평준화되어 있어서,단순한 속도보다 구조나 코어 수, 세대, 캐시 용량 등을 함께 봐야 성능을 제대로 알 수 있습니다... 2025. 4. 4. GitHub 프로젝트 파일 업로드하기 1. 원하는 프로젝트 우클릭 후 Git Bash Here 선택2. git 저장소 초기화git init 3. 스테이징하기git add . 4. 커밋 메세지 작성git commit -m "커밋할 메세지 입력" 5. 원격 저장소로 추가git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git이 주소 추가하시면 됩니다 6. 원격 저장소에 푸시하기git push 2024. 7. 27. Git Branch 삭제하는 법 로컬 저장소에서 브랜치 삭제먼저 다른 브랜치로 전환해야 한다.main 브랜치를 삭제하고 싶다고 가정하면1. 다른 브랜치(ex. develop)로 전환git checkout develop2. 로컬 브랜치 삭제git branch -d main 원격 저장소에서 브랜치 삭제git push origin --delete main 2024. 7. 27. [C# WPF] WPF TextTrimming이 가능한 조건 TextTrimming WPF에서는 TextBlock의 TextTrimming 속성을 사용하여 텍스트가 너무 길어질 때 트리밍할 수 있다. 컨트롤의 길이보다 내부 텍스트의 길이가 길어지면, 끝에 ... 을 표시해서 텍스트가 더 있다는 것을 알려준다. 아래처럼 TextBlock을 하나 만들자. 위 텍스트는 Width 100인 TextBlock보다 길기 때문에 아래처럼 잘리게 된다. 현재까지는 위 텍스트가 "I am REALLY long"인지, 아니면 뒤에 더 있는지 알 수가 없다. 이 때 TextTrimming 속성을 추가해주면 ...이 보이게 된다. TextTrimming="WordEllipsis" Text Trimming에는 3가지 속성이 있다. 1. None: 텍스트가 화면을 넘어가면 자르지 않고 그.. 2023. 10. 31. [C#] 캐스팅(Casting)과 Convert 클래스 데이터 타입 간의 변환 암시적 변환 (Implicit Conversion) 정수는 실수이다. 이 말은 맞는 말이다. 왜냐하면 정수는 실수에 포함되기 때문이다. 이렇듯 범위가 더 큰 데이터 타입으로 변환할때는 데이터 손실이 없기 때문에, 따로 무언가를 안해줘도 변환이 자동으로 수행된다. int 보다 더 큰 범위의 정수인 long, 실수범위인 float와 double은 따로 변환을 안해주어도 int형이 자동으로 변환되는 것을 볼 수 있다. 명시적 변환 (Explicit Conversion) 반대로 '실수는 정수이다.' 이 말은 틀리다. 실수를 정수로 변환시키려면 소수점이 존재하는 경우 버려야하고, 올림할지 버림할지도 정해햐한다. 이렇게 데이터의 손실이 발생하는 경우의 변환을 명시적 변환이라고 한다. 이 변환.. 2023. 10. 19. 이전 1 2 3 4 ··· 25 다음 more 728x90