본문 바로가기

C#6

[WPF] WPF에 Winform 컨트롤 불러오는 방법 WPF에서 Winform에서 사용하는 컨트롤을 Window안에 넣는 방법이다. 해당 컨트롤은 sameControlCheck의 이름을 가진 WPF 프로젝트와는 별도의 프로젝트에 존재하는 WinFormControl이라는 컨트롤의 형식이다. 먼저 WPF 프로젝트에 Winform을 위한 참조를 추가한다. 추가하는 참조는 아래와 같이 2개가 있다. 해당 참조를 추가한 뒤 Winform 컨트롤을 사용할 WPF XAML쪽에서 다음과 같이 입력하면 Winform 컨트롤을 사용할 수 있다. 이때 꼭 WindowsFormsHost를 이용해 감싸줘야 Winform 컨트롤을 WPF에서 정상적으로 사용할 수 있다. 2023. 9. 6.
[WPF] 컨트롤에 동적으로 스타일 적용 WPF를 사용하다가 xaml 파일에서가 아닌 cs 파일에서 동적으로 컨트롤을 추가하는 경우가 있다. 해당 경우에 미리 등록해놓은 스타일을 불러올 수 있는 방법이다. xaml 파일 구조 cs 파일 구조 using System.Windows; using System.Windows.Controls; //버튼 스타일을 가져올 xaml파일 지정 ResourceDictionary resourceDictionary = new ResourceDictionary { Source = new Uri("/Resources/Style.xaml", UriKind.RelativeOrAbsolute) }; //컨트롤 생성 private Button CreateButton() { //원하는 버튼 스타일의 이름을 통해 받아옴 var b.. 2023. 5. 15.
[C#] 파일을 줄단위로 마지막까지 읽어오기 C#에서 텍스트파일을 처음부터 한줄씩 (개행문자 단위로) 끝까지 읽어오고 싶은 경우에 사용할 수 있다. using System.IO; string FilePath; StreamReader reader = new StreamReader(FilePath); string readLine; while ((readLine = reader.ReadLine()) != null) { //한줄씩 읽어온 내용에 대한 처리 } 한줄씩 읽어오며, 해당 줄이 null값인 경우(문서가 끝난 경우) 해당 코드가 종료된다. 해당 코드를 이용하여 마지막까지 한줄 단위로 읽어와 처리를 진행할 수 있다. 2023. 4. 19.
[WPF] XAML 디자인 창 컨트롤 숨기기 XAML로 디자인을 하다보면 컨트롤이 겹쳐서 뒤의 컨트롤을 확인하고 싶지만 그럴 수 없는 경우가 발생한다. 이 때 사용할 수 있는 것이 바로 d:IsHidden="True" 이다. 해당 문장을 컨트롤에 입력하면 기존에 보였던 컨트롤이 숨겨지면서 뒤에 있는 컨트롤을 확인할 수 있다. 해당 숨기기 기능은 디자인 편집의 편의를 위한 기능이다. 디자인 편집창에서만 적용이 되며, 프로그램을 실행했을 때는 숨기기가 적용되지 않는다. 2023. 4. 7.
[WPF] ListView 갱신하는 방법 WPF 에서 ListView에 List를 바인딩해서 사용하는 경우, 바인딩되어 있는 List가 갱신되지 않는 경우가 발생한다. 이 경우에 사용할 수 있는 방법이다. using System.ComponentModel; public class GroupInfo { string GroupName { get; set; } int GroupMemeberCnt { get; set; } } List groupinfos = new List(); private void RefreshGroupList() { listview_GroupList.ItemsSource = groupinfos; //바인딩할 List 리스트뷰에 바인딩 //바인딩한 리스트 갱신 ICollectionView view = CollectionViewSou.. 2023. 4. 6.
C# List<T> 리스트를 특정 조건에 맞추어 정렬하는 방법 C#에서 리스트를 정렬하는 방법에는 List.Sort()라는 기본 매서드가 존재한다. 해당 매서드는 크기비교가 가능한 형식이 리스트에 들어가 있을 경우에만 사용이 가능하다. List 내의 클래스 안에 들어있는 데이터를 이용해서 정렬하는 방법이 필요할 경우에 사용할 수 있는 방법은 아래에 있는 코드를 통해서 사용 가능하다. 아래의 코드는 RandomPoints라는 Point 클래스의 리스트를 Point 안의 Distance값의 오름차순으로 정렬한 예시이다. if 문 안의 부호를 반대로 변경하면 Distance 값의 내림차순으로 정렬을 할 수 있다. using System; using System.Collections.Generic; List RandomPoints; public class Point { p.. 2023. 2. 15.