0

データをグリッド ビューにバインドするのが難しい

 if (response.StatusCode == HttpStatusCode.OK)
            {
                List<dashboard1> variable1 = new List<dashboard1>(); 
                var jsonString = await response.Content.ReadAsStringAsync();
                dynamic arr = JsonParser.Parse(jsonString);
                var items2 = arr[0].items; 
                foreach (var item3 in items2)
                {                      
                    variable1.Add(item3.sectionName);
                    variable1.Add(item3.procedureName);
                    variable1.Add(item3.reportName);
                    variable1.Add(item3.templateName);
                }
               itemGridView.ItemsSource = variable1;
            }

jsonを解析してリストに保存しました

これらの値をユーザー インターフェイスにバインドする方法がわかりません。引き続き値をグリッド ビューに渡す方法を教えてください。

4

2 に答える 2

0
 <GridView Grid.Row="2"
        x:Name="itemGridView"             

        SelectionMode="Multiple"                 
         SelectionChanged="itemGridView_SelectionChanged"      >



            <GridView.ItemTemplate >
                <DataTemplate >
                    <Border BorderThickness="1" BorderBrush="#7b579b" Tapped="Border_Tapped_1" >
                        <Grid Name="tile" Background="{Binding SubjectTilebackGround}" Height="150" Width="150" Tapped="tile_Tapped_1"  >
                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                            <TextBlock x:Name="hello2" Text="{Binding SubjectName}" Foreground="White" FontSize="15" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="8"   FontWeight="ExtraLight" Visibility="{Binding isTopSubjectTextVisible}"/>
                            <TextBlock Text="{Binding SubjectName}" Foreground="White" FontSize="15" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="8" FontWeight="ExtraLight" Visibility="{Binding isBottomSubjectTextVisible}" />

                        </Grid>
                    </Border>
                </DataTemplate>
            </GridView.ItemTemplate>

            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel Orientation="Horizontal" Margin="98,0,0,0"/>
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>
            <GridView.GroupStyle>
                <GroupStyle>
                    <GroupStyle.HeaderTemplate >
                        <DataTemplate >
                            <Grid Margin="0,0,0,6"  >
                                <Button
                                AutomationProperties.Name="Group Title"
                                Style="{StaticResource TextPrimaryButtonStyle}">
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="{Binding CategoryName}" Margin="2" FontSize="30" Foreground="White" FontWeight="Light" />
                                        <TextBlock Text="( 17 Apps )" Margin="10,2,2,2" FontSize="25" Foreground="White" FontWeight="ExtraLight" VerticalAlignment="Bottom" />
                                    </StackPanel>
                                </Button>
                            </Grid>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                    <GroupStyle.Panel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid  Orientation="Vertical" Margin="0,0,80,0" MaximumRowsOrColumns="3"   />
                        </ItemsPanelTemplate>
                    </GroupStyle.Panel>
                </GroupStyle>
            </GridView.GroupStyle>
        </GridView>

この例では、gridview のさらに便利なプロパティをいくつか追加しました。そして、このようなバインディングを使用したところはどこでも。

Background="{Binding SubjectTilebackGround}"

それは、「SubjectTilebackGround」が、リストを作成したオブジェクトのクラスに存在するプロパティであることを意味します..あなたの場合はDASHBOARD1であることを意味します..ダッシュボードで利用可能なすべてのプロパティで、私がしたようにそれらをバインドできます. これが役立つことを願っています。

于 2013-07-12T05:30:25.467 に答える