繁体   English   中英

在 Gridview 内显示 Gridview

[英]Display A Gridview Inside A Gridview

我在网格视图中有一个名称为“majorGridView”的网格视图,名称为“assessmenGridView”,其数据是数据绑定

XAML:

<GridView x:Name="asesmenGridView">
    <GridView.ItemTemplate>
        <DataTemplate>
            <UserControl>
                <Grid>
                    <StackPanel
                        x:Name="judulStack"
                        Height="40">
                        <TextBlock
                            x:Name="judulT"
                                                        Text="{Binding Title}"/>
                    </StackPanel>   
                    <GridView
                        x:Name="majorGridView">
                                                <GridView.ItemTemplate>
                            <DataTemplate>
                                                            <UserControl>
                                                                <Grid>
                                                                    <TextBlock
                                    x:Name="kelasT"
                                                                        Text="{Binding Major}"/>
                                                                </Grid>
                                                            </UserControl>
                                                        </DataTemplate>
                        </GridView.ItemTemplate>
                    </GridView>
                </Grid>
            </UserControl>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

如何在“majorGridView”上显示绑定文本? 因为如果我使用下面的代码,我会得到一个错误信息:“当前上下文中不存在名称'majorGridView'”

代码:

    ObservableCollection<Ujian> ujiandatasource = new ObservableCollection<Ujian>();
            ObservableCollection<Ujian> majordatasource = new ObservableCollection<Ujian>();
     string urlPath = "https://pto.study.id/api/" + ((App)(App.Current)).AsesmenCode + "-do/s2/choose-exam/" + guru.ID;
                            var httpClient = new HttpClient(new HttpClientHandler());
                            httpClient.DefaultRequestHeaders.Add("Authorization",
                                string.Format("Bearer {0}", tkn));
                            var response = await httpClient.GetAsync(urlPath);
    string jsonText = await response.Content.ReadAsStringAsync();
                            try
                            {
                                JsonArray jsonArray = JsonArray.Parse(jsonText);
                                foreach (JsonValue groupValue in jsonArray)
                                {
                                    JsonObject groupObject = groupValue.GetObject();
    JsonArray majorArray = groupObject["majors"].GetArray();
                                    foreach(JsonValue majorValue in majorArray)
                                    {
                                        JsonObject majorObject = majorValue.GetObject();
                                        string major = majorObject["major"].GetString();
    
                                        Ujian ujian1 = new Ujian();
                                        ujian1.Major = major + ", ";
    
                                        majordatasource.Add(ujian1);
                                        majorGridView.ItemsSource = majordatasource;
                                    }
    Ujian ujian = new Ujian();
                                    ujian.Title = title;
     ujiandatasource.Add(ujian);
    asesmenGridView.ItemsSource = ujiandatasource;
}

乌建.cs

class Ujian
    {
        public string Title { get; set; }
        public string Major { get; set; }
    }
}

当前上下文中不存在名称“majorGridView”

DataTemplate中的majorGridView ,因此我们无法直接使用 name 访问majorGridView 对于这种场景,我们通常会使用嵌套集合来普遍应用该值。 这是您可以参考的类似案例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM