반응형

Binding 6

[WPF] 여러 Enum 상태에 따라 선택적으로 UserControl 표시하기

WPF에서 사용자 인터페이스를 개발하다 보면, 여러 상황에 따라 다양한 UserControl을 동적으로 표시해야 할 때가 있습니다. 이런 경우, Enum 상태에 따라 UserControl을 선택적으로 표시하는 방법을 사용할 수 있습니다. 이 이번 포스팅에서는 DataTemplate 및 DataTemplateSelector를 사용하여 여러 Enum 상태에 따라 UserControl을 표시하는 방법을 알아봅니다. 1. Enum 정의 public enum Status { First, Second, Third } 2. 각 상태에 대한 UserControl 정의 예를 들어, FirstControl.xaml, SecondControl.xaml, ThirdControl.xaml 파일을 각각 생성하여 다음과 같이 각 ..

프로그래밍/WPF 2023.04.12

[WPF] MouseBinding KeyBinding Binding

WPF 를 사용하다보면 마우스나 키보드를 이용하여 상호작용을 해야할 때가 있다. 이럴때 컨트롤에 InputBindings을 이용하여 MVVM으로 바인딩하는 방법이 있다. MouseBinding 할때 Gesture를 이용해도 되고, MouseAction을 사용해도 된다. 보통은 저렇게 쓸때 자동완성기능에 없는데 MouseBinding의 경우 아래의 URL가서 MouseAction 관련 Enum을 확인하면된다. https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.input.mousebinding?view=windowsdesktop-6.0 MouseBinding 클래스 (System.Windows.Input) MouseGesture를 RoutedComman..

프로그래밍/WPF 2022.08.03

[WPF] UserControl DependencyProperty 설정과 Binding 방법

자주 쓰이는 UserControl을 만들 때, 해당 컨트롤을 바딩인 속성 설정과 실제 바인딩 방법에 대해 알아본다. Usercontrol xaml cs namespace WintexMonitoring.View { /// /// MaterialCard.xaml에 대한 상호 작용 논리 /// public partial class MaterialCard : UserControl { public string Title { get { return (string)GetValue(TitleValueProperty); } set { SetValue(TitleValueProperty, value); } } public static readonly DependencyProperty TitleValueProperty = D..

프로그래밍/WPF 2021.07.21

[WPF] ItemControl에서 Item Index binding

ItemControl 등에서 각 itemsSource에 있는 파일을 삭제 처리나 수정 처리 할 때, 방법에 따라 다양하지만 해당 ItemTemplate에 추가나 삭제 버튼을 만들어 처리하는게 일반적이다. 이때 해당 ItemsSource의 Index값을 가져와서 처리하는 방법을 알아보자. ViewModel class ConfigViewModel : DialogViewModelBase { private string _address; public string Address { get { return _address; } set { SetProperty(ref _address, value); } } public ObservableCollection IP { get; set; } public DelegateCom..

프로그래밍/WPF 2021.05.11

[WPF] IGrouping 데이터 바인딩 하기

LINQ를 사용하다보면 group를 사용하여 그룹화를 시켜줄 때가 많다. 이때, group 사용 시에 IGrouping Interface를 반환받게 되는데 이것을 데이터 바인딩 하는 방법을 알아본다. Model DTO public class IoTStatus : BindableBase { private int _line; public int Line { get { return _line; } set { SetProperty(ref _line, value); } } private int _table; public int Table { get { return _table; } set { SetProperty(ref _table, value); } } } Service public async Task GetI..

프로그래밍/WPF 2021.05.06
반응형