Front-End/WPF(3)
-
DataGrid ColumnItem의 버튼으로 해당 행 삭제
개요 이 포스트는 WPF-MVVM에서 DataGrid의 행들이 각각 버튼을 가지고 있고 그 버튼을 클릭 했을 때 해당 행이 삭제되는 예제입니다. WPF 프로젝트 생성 MVVM 패턴으로 하기 때문에 아래와 같이 파일을 생성합니다. 파일명 설명 DelegateCommand ICommand의 구현체이며 Button의 Click 바인딩으로 사용합니다. Item DataGrid에 들어가는 데이터 입니다. PropertyChangeHelper INotifyPropertyChanged 구현체로 바인딩 객체의 변화에 대해 이벤트를 발생하여 UI를 갱신합니다. MainWindow.xaml DataTemplate은 데이터의 틀을 지정해주는 Template입니다. DataGrid에서 View라는 Column을 따로 Temp..
2023.04.23 -
WPF Binding의 RelativeSource 속성
소개 WPF에서 Binding의 태그 중 RelativeSource 속성은 바인딩 할 객체를 찾을 때 사용됩니다. 자기 자신 자기 자신이 바인딩 소스인 경우 self로 자정하고 Path로 어떤 것을 바인딩 할 지 지정하면 됩니다. 상위 객체 자신의 부모 객체의 경우 감싸고 있는 Control의 이름을 AncestorType로 지정해주면 됩니다. 하지만 StackPanel이 StackPanel로 감싸고 있을 경우는 어떻게 할까요?? 위와 같을 때는 AncenstorLevel=2처럼 몇번 째 부모 Control인지 지정해주면 됩니다. ControlTemplate 정의 엘리먼트 일 경우 x:Name으로 Control 찾기 위와 같이 상대 경로로 찾지 않고 ElementName으로 바로 찾을 수 있습니다.
2023.04.23 -
C# Clipboard 및 Serialize
개요 이 포스트는 WPF-MVVM에서 UI의 색상을 복사하여 붙여넣기 예제 프로그램 및 설명입니다. C#에서 클립보드를 사용하기 위해서는 System.Windows의 Clipboard Class를 사용합니다. 복사하기 클립보드에 복사하기 위해서는 SetDataObject를 사용합니다. Clipboard.SetDataObject(object data, bool copy) 두번째 매개 변수인 copy의 경우 true 이면 프로그램을 종료하여도 클립보드에 계속 남아 있고 false 인 경우 프로그램이 종료하면 클립보드의 데이터도 같이 없어집니다. Clipboard.Clear(); var dataObject = new DataObject(); dataObject.SetData("SelectedColor", Se..
2023.04.19