본문 바로가기

전체 글

(96)
WPF Visual Tree or Logical Tree 순회 WPF 에서는 Logical Tree 와 Visual Tree 가 있다. 자세한 개념은 MSDN 이 가장 잘 설명해 놓았다.(http://msdn.microsoft.com/ko-kr/library/ms753391.aspx) 쉽게 이야기 하면어떤 "UI요소" 가 구성된 하위의 구조를 이야기 한다. 하나의 UI요소 는 다른 여러 UI요소들로 구성되어 있고UI요소의 Template 안에는 이 UI요소 를 표현하는 여러 UI요소 가 들어있다. TextBox 가 하나 있다면 TextBox 의 Template 에는 여러 UI요소들이 TextBox 의 모양을 구성하고 있다. Template 은 WPF 의 가장 기본적인 내용이다. 이런 윈도우를 구성해보았다. 이런 윈도우에 포함된 UI요소들을 트리로 나열한 것이 Log..
EBS 다큐프라임 빛의 물리학 - 1부 빛과 시간 특수상대성 이론 EBS 다큐프라임 에서 "빛의 물리학" 이라는 주제로 총 6부작으로빛을 탐구하면서 발전한 현대 이론 물리학에 대한 방송이 있었습니다. [EBS 링크]1부 빛의 물리학-1부 빛과 시간 특수상대성 이론2부 빛의 물리학-2부 빛과 공간 일반상대성 이론3부 빛의 물리학-3부 빛의 추적자4부 빛의 물리학-4부 빛과 원자5부 빛의 물리학-5부 빛과 양자6부 빛의 물리학-6부 빛과 끈 이런 계통에 관심이 많아서 국내외 의 많은 다큐를 시청하였는데국내 제작한 다큐중에서는 최고 수준이며,국외의 다큐와 비교해도 전혀 수준이 떨어지지 않을 정도라고 생각됩니다.또한 물리학이라는 특성상 일반인의 일반 상식으로는 이해하기 힘든 부분이 많은데다른 다큐에 비해서도 일반인이 이해하기 쉽게 잘 설명하고 있습니다. 1부는 "빛과 시간 특..
들여쓰기를 쉽게 - Indent Guides (VS확장) 들여쓰기는 대부분의 개발자들에게 필수사항이나 다름없다. Visual Studio 에서 들려쓰기를 확실하게 보여주는 확장 프로그램인 "Indent Guides" 가 있다. > Visual Studio 확장 프로그램 설치 Indent Guides 를 설치하면 들여쓰기 에 대한 가이드 라인이 표시되고 XAML 에서도 동일하게 표시된다. 들여쓰기에 좀 민감한 사람이라면 은근히 맘에 들 수 도있고아니면 화면이 번잡해졌다고 느껴서 굉장히 꺼려할 수 도 있을거 같다.
NetAdvantage XamDockManager 의 Splitter 고정 Infragistics NetAdvantage 의 DockManager 로 Layout 구성시 각 Pane 사이에 Splitter 로 사이즈 조절이 가능하다. 하지만 사이즈 조절이 안되게 고정하고 싶을때는 DockedPaneSplitter 을 비활성화 해주면 된다. xmlns:igDock=http://infragistics.com/DockManager DockManager 의 하위 아이템인 ContentPane 이나 TabGroupPane 등에 너비나 높이를 지정해줘서 될 수도 있겠지만 그 뒤에는 resize 에 따른 변경이 되지 않기 때문에 DockedPaneSplitter 을 비활성화 해주는 것이 더 깔끔한 방법인 거 같다.
TabControl - Button / Tab Move TabControl 의 각 TabPage 에 버튼이 필요할 때가 있다. 각 TabPage 에 버튼을 넣을려면 TabControl 의 OnDrawItem 메소드를 override 하여 일일이 헤더 문자열 하고 버튼을 위치 간격 다 계산해서 우리의 Graphics g 로 다 그려줘야 한다. 그리고 찾아보면 은근 소스도 쉽게 찾을 수 있다. 하지만 만약 TabPage 마다 버튼 갯수도 다르고 버튼마다 아이콘도 맘대로 넣고 헤더 문자열도 변경할 수 있고 덤으로 Drag&Drop 으로 순서까지 변경하게 해달라고 하면 약간 골치 아퍼진다. 그래서 이 소스 저 소스를 버무려봤다. 우선 쉽게 버튼에 대한 정보를 저장하고 넘길 때 사용할 아이가 필요하다. using System.Drawing; public class B..
API 쉽게 찾기 - PInvoke.Net (VS확장) Windows Application 을 개발을 하다보면 어쩔수 없이 WinAPI 를 써야 할 경우가 많다. 그럼 보통 API 에 대한 정의나 사용하는 상수, 구조체에 대해서 인터넷에서 검색해서 붙여넣는 경우가 대부분이였다. 시간도 오래걸리고 사용 예시도 이것저것 찾아서 봐야하고....약간 번거로웠다. 하지만 Visual Studio 에서 확장 프로그램으로 "PInvoke.Net" 이라는 것을 제공한다. > Visual Studio 확장 프로그램 설치 PInvoke.Net 을 설치하면 VS 메뉴에 해당 메뉴가 추가되면 "Insert PInvoke Signatures..." 를 클릭하면 해당 화면이 나오고 원하는 API 를 검색할 수 있다.(유용한 Memory Profiler 를 만든 redgate사 가 만..
Visual Studio 확장 프로그램 설치 Visual Studio 에서는 기본 기능외에 여러가지 기능을 확장할 수 있는 확장 프로그램을 제공한다. "도구" - "확장 및 업데이트" 에 들어가면 해당 팝업이 뜨고 현재 VS 에 설치되고 업데이트가 필요한 확장 프로그램 의 목록과 다른 확장 프로그램을 검색해서 다운받아 설치 할 수있는 온라인 메뉴가 있다. 온라인 을 선택하면 설치할 수 있는 여러 확장 프로그램이 나오는데 우측 상단에서 검색할 수 있다. 현재 상당히 많은 확장 프로그램이 제공되며 기호에 맞게 설치해서 쓰면 보다 편하게 개발할 수 있다.
WPF Filter ComboBox ComboBox 컨트롤을 사용하면 사용자가 입력하는 문자열에 따라서 아이템이 Filter 되서 나오는 것이 편할 때가 있고손쉽게 Filter 가 되게 구현할 수 있다. 하지만 ComboBox 를 Edit 를 하다보면 한글에 대해서 입력한 값이 Text 프로퍼티에 바로바로 들어가지 않는 것을 알 수 있다. 예상으로는 아마도 ComboBox 에서 한글 입력에 대해서 음절(or 어절)이 끝나지 않았다고 판단하는 것 같고 그래서 Text 프로퍼티에 해당 값을 넣어주지 않는 듯하다. [XAML] 테스트1Item 테스트2Item 테스트3Item [CODE]using System.Windows;using System.Windows.Controls;using System.Windows.Input; namespace W..