2014-03-04 3 views
0

ListBoxItem의의 인덱스를 얻을 .... 그리고 이것은 내 XAML 코드내가 WP8에서 ListBoxItem의의 인덱스를 얻으려고

<phone:PivotItem Header="Pins"> 
      <!-- Content Panel --> 
      <Grid x:Name="ContentPanel2" HorizontalAlignment="Left" Height="583" Margin="10,10,0,0" Grid.Row="1" VerticalAlignment="Top" Width="460"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="400*"/> 
        <ColumnDefinition Width="0*"/> 
        <ColumnDefinition Width="87*"/> 
       </Grid.ColumnDefinitions> 
       <ListBox x:Name="lstData2" 
        ItemsSource="{Binding DataCollection2, Source={StaticResource PinsCollection}}" Grid.ColumnSpan="3" Foreground="#FF1D53D0" Height="583" VerticalAlignment="Bottom"> 
        <ListBox.ItemTemplate > 
         <DataTemplate > 
          <StackPanel Orientation="Horizontal" Tap="StackPanel_Tap" MouseLeftButtonDown ="SetIndex" Tag="{Binding pinId}"> 
           <Image Margin="8" 
            VerticalAlignment="Top" 
            Source="{Binding ImageUri}" 
            Width="100" 
            Height="100" /> 
           <StackPanel Height="93" Width="259" > 
            <TextBlock Margin="8" 
             Width="250" 

             TextWrapping="Wrap" 
             VerticalAlignment="Top" 
             HorizontalAlignment="Left" 
             Foreground="#FF1D53D0" 
             Text="{Binding Pinnedname}" Height="33" RenderTransformOrigin="0.5,0.5" FontFamily="Segoe WP SemiLight" FontSize="24" FontWeight="Bold" /> 
            <TextBlock Width="155" 
             Margin="8,0,8,8" 
             VerticalAlignment="Top" 
             HorizontalAlignment="Left" 
             Text="{Binding Status}" Foreground="#FF1D53D0" FontFamily="Segoe WP SemiLight" /> 

           </StackPanel> 
           <toolkit:ContextMenuService.ContextMenu> 
            <toolkit:ContextMenu> 
             <toolkit:MenuItem Header="Remove Pin" Click="RemovePin_Click"/> 

            </toolkit:ContextMenu> 
           </toolkit:ContextMenuService.ContextMenu> 
          </StackPanel> 

         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 
       <!-- End of Content Panel --> 
      </Grid> 
     </phone:PivotItem> 

되는 어떻게 SetIndex의 인덱스를 얻으려면 MouseLeftButtonDown의 이벤트 핸들러! 가장 기본적인 클릭 기능은 컨트롤에 내장 한,

<ListBox x:Name="lstData2" SelectedIndex="{Binding Index,Mode=TwoWay}" 

목록 상자를 클릭 핸들러를 추가 할 필요는 일반적으로 없다 :

답변

1

당신은 그 바인딩 두 방법을 사용해야합니다.

+0

mm 죄송하지만 좀 더 나를 도울 수 있습니까 나는 인덱스를 얻고 싶습니다 ... 그리고 내가 SelectedIndex를 사용하면 -1을 반환하고 엘리먼트를 다시 눌러야합니다. 오른쪽 inex를 얻으려면 나는 색인이 항상 1 걸음 뒤에 있다는 것을 의미합니다 – a3adel

+2

그 이유는 선택 변경 이벤트 전에 mouseleftbuttownown이 발생하기 때문입니다. 선택한 색인을 원하면 목록 상자 선택 변경 이벤트를 사용하십시오. –

관련 문제