티스토리 뷰

IT/C#

[XAML][WPF] View.Resources 영역에 정의된 Style, DataTemplate을 적용한 Control로 접근하는 방법

주인장 진빼이

<View.Resources> 영역에서 사용 중인 컨트롤(해당 스타일 적용)로 접근하는 방법

(View.Resources 태그 안에 스타일을 정의->스타일 트리거->데이터 트리거에서 해당 스타일을 사용 중인 컨트롤(Self)로 접근했다)

<DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Items.Count}" Value="0">

"{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Items.Count}"

 

DataTemplate에서 ViewModel에 선언된 NavigateCommand에 접근하는 방법

(ListBox Control에서 해당 DataTemplate을 사용했다, DataContext가 의미하는 바는 ListBox가 배치되어 있는 View의 ViewModel이다.)

(DataTemplate에서 부모(ListBox)의 DataContext로 접근하여 ViewModel의 선언된 ICommand 타입의 명령변수를 바인딩하여 사용한다.)

 <MouseBinding MouseAction="LeftDoubleClick" Command="{Binding DataContext.NavigateCommand, RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}" CommandParameter="{Binding ID}" />
                                                          
"{Binding DataContext.NavigateCommand, RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}"

 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함