프로그래밍/WPF

[WPF] MVVM에서 ComboBox SelectionChanged Binding

흔한티벳여우 2020. 8. 21. 17:52
반응형

단순히 xaml에서 code behind로 SelectionChanged 이벤트는 쉽게 헨들러를 통해 추가할 수 있다.

 

하지만 MVVM에서 Binding을 통해 Binding을 하려고 하면 바인딩을 하기 위한 속성이 존재 하지 않는다.

이를 해결하기 위해 System.Windows.Interactivity라는 Reference가 존재한다.

 

단순히 Blend SDK가 안깔려 있다면 아래와 같은 내용을 최상위 컨트롤에 추가해준다.

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

깔려 있을경우 아래의 내용을 추가해준다.

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 

 

아래와 같이 코드비하인드에서 사용되는 이벤트를 가져다가 Command 속성에 바인딩 시킬 수 있다.

<ComboBox ItemsSource="{Binding History}" SelectedItem="{Binding SelectedHistory}">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction Command="{Binding ComboBoxItemChangedCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</ComboBox>
반응형

'프로그래밍 > WPF' 카테고리의 다른 글

[WPF] ItemControl에서 Item Index binding  (0) 2021.05.11
[WPF] Value Converter  (0) 2021.05.10
[WPF] MVVM에서 IDialogService 사용  (0) 2021.05.10
[WPF] Separator Vertial 처리  (0) 2021.05.06
[WPF] IGrouping 데이터 바인딩 하기  (0) 2021.05.06