저는 현재 GridView를 사용하여 내 Xaml에 바인딩 할 객체 컬렉션을 보유하고 있습니다. GridView가 내가 성취하고자하는 목적에 가장 적합한 도구인지는 모르겠습니다. 내가 GRID1에 클릭 된/탭 트리거가 필요GridView의 ItemClick 이벤트
:
이 대략 현재의 내 DataTemplate을합니다. 그러나이 템플릿을 GridView와 함께 사용하면 ItemClick 이벤트가 전체 템플릿에서 트리거됩니다. 물론 올바른 것입니다. Grid1에서 클릭 이벤트를 설정하려면 어떻게해야합니까? 내 DataTemplate 선언에이 이벤트를 추가 할 수 있습니까? 기본적으로 내의 GridView에 대한 XAML의
:
<GridView x:Name="RoomsGridView"
VerticalAlignment="Top"
ItemsSource="{Binding Rooms}"
ItemTemplate="{StaticResource RoomTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="RoomsGridView_ItemClick" Padding="0">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
편집 : 나는 this sample 발견했지만이 버튼 작동 만 보인다!?
안녕하세요, Kasper, 내 Datatemplate의 Grid1에 "Tapped"이벤트를 추가했는데 내 뷰 모델에서이 이벤트에 어떻게 액세스 할 수 있습니까? 편집 : 내가 한 것처럼 StandardStyles 파일에있는 경우 Datatemplates에서 이벤트를 "쉽게"사용할 수없는 것처럼 보입니다. 이제는 페이지 리소스에 로컬로 datatemplate이 있고 모든 이벤트가 작동합니다. 이 문제점에 대한 추가 정보 : http://social.msdn.microsoft.com/Forums/en-US/3e6ef7ea-d9b9-4219-8df4-f3355a1d2b5c/windows-81-datatemplate-in-xaml-resource-file-button- click-event-is-not-called-forum = winappswithcsharp – Johann
가능한 한 Command를 사용하는 것이 좋습니다. 이러한 모델은보기 모델에서 사용하기 쉽고 어떤 방식 으로든 데이터 템플릿을 제한하지 않습니다. –
좋아요. 명령을 파헤칩니다. :) 그러나 확실한 것은 : Grid의 "Tapped"이벤트로 명령을 사용할 수 있습니까? 아니면 버튼의 Command 속성에서만 명령을 사용할 수 있습니까? 탭된 이벤트에서 어떻게 사용하는지 분명하지 않습니다. – Johann