2016-06-08 7 views
0

Gridview의 모든 항목을 어떻게 가져올 수 있습니까? XAML을 따르는 것은 내가 이러한 각 요소를 통해 반복 할 수 있어야하고, 그 값을 업데이트해야GridView 내에서 항목 가져 오기 Windows 8

<GridView 
    x:Name="itemGridView" 
    AutomationProperties.AutomationId="ItemsGridView" 
    AutomationProperties.Name="Items" 
    TabIndex="1" 
    Grid.RowSpan="2" 
    Padding="116,136,116,46" 
    ItemsSource="{Binding Source={StaticResource itemsViewSource}}" 
    SelectionMode="None" 
    IsSwipeEnabled="false"> 
    <GridView.ItemTemplate> 
     <DataTemplate> 
      <Grid HorizontalAlignment="Left" Width="250" Height="250" Tapped="Grid_Tapped" RightTapped="Grid_RightTapped"> 
       <Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"> 
        <Image Source="{Binding ImageURL}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/> 
       </Border> 
       <StackPanel VerticalAlignment="Bottom" Background="{ThemeResource ListViewItemOverlayBackgroundThemeBrush}"> 
        <TextBlock Text="{Binding Name}" Foreground="{ThemeResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource BaseTextBlockStyle}" Height="60" Margin="15,0,15,0" FontWeight="SemiBold"/> 
        <TextBlock Text="{Binding CurrentState}" Foreground="{ThemeResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource BaseTextBlockStyle}" TextWrapping="NoWrap" Margin="15,0,15,10" FontSize="12"/> 
       </StackPanel> 
      </Grid> 
     </DataTemplate> 
    </GridView.ItemTemplate> 
</GridView> 

클릭 tappable있는 항목/격자를 생성합니다. 이것은 내가 그것을하려고하지만

foreach (var item in itemGridView.Items) 
{ 
    var _Container = itemGridView.ItemContainerGenerator.ContainerFromItem(item); 

    //Once i have the contrainer i know i can access its childern but this line of code throws error 
} 

enter image description here

내가 여기서 뭘하고 싶은 일을 할 수있을 방법이 있나요 수있는 방법인가?

또는 Windows 8에서 RowDataBound와 같은 이벤트가 발생 했습니까?

답변

0

값을 업데이트하려면 컨테이너를 가져올 필요가 없습니다. 예를 들어 당신이 데이터 클래스가 있습니다

 mydemotable demoitem = new mydemotable 
     { 
      Name = "Skywalker", 
      CurrentState = "lalala" 
     }; 

     ObservableCollection<mydemotable> items = new ObservableCollection<mydemotable>(); 
     items.Add(demoitem); 

     itemGridView.DataContext = items; 


     foreach (mydemotable item in itemGridView.Items) 
     { 
      item.Name = "Alex"; 
     } 
+0

는 null를 돌려 : 여기

public class mydemotable { public string CurrentState { get; set; } public string Name { get; set; } } 

을 그리고 변화하는 이름 값을 가진 요소를 통해이 클래스와 루프를 입력하는 방법을 예입니다. – Salman