列表选择器显示对象名称而不是属性,我尝试所有解决方案

本文关键字:解决方案 属性 对象 显示 选择器 列表 | 更新日期: 2023-09-27 18:36:26

listpicker 显示对象名称而不是属性。我已经尝试了堆栈溢出中已经给出的所有解决方案,但我没有得到任何结果

                 BorderThickness="0.2" SelectionMode="Multiple" SelectionChanged="AreaClassification_SelectionChanged"
                VerticalAlignment="Bottom" Margin="204,-53,0,0"  BorderBrush="Black" >
                        <toolkit:ListPicker.ItemTemplate>
                            <DataTemplate>
                                <StackPanel >
                                    <TextBlock Text="{Binding name}"  Foreground="Black" FontSize="18"/>
                                </StackPanel>
                            </DataTemplate>
                        </toolkit:ListPicker.ItemTemplate>
                        <toolkit:ListPicker.FullModeItemTemplate>
                            <DataTemplate>
                                <StackPanel>
                                    <TextBlock Text="{Binding name}" FontSize="18"                    Foreground="White"   />                                                  
                                                                                  </StackPanel>
                            </DataTemplate>
                        </toolkit:ListPicker.FullModeItemTemplate>
                    </toolkit:ListPicker>

我只需要学习如何设计控件。您有任何参考吗?

代码隐藏

 string result = e.Result;
                JObject o = JObject.Parse(result);
                var results = o["Data"]["Area"];
                JArray obj = results as JArray;
                var dt = obj.ToArray();
                foreach (var d in dt)
                {
                    Area dts = new Area();
                    dts.code = Convert.ToString(d["code"]);
                    dts.name = Convert.ToString(d["name"]);
                    _lst.Add(dts);
                }
                AreaClassification.ItemsSource = _lst;

列表选择器显示对象名称而不是属性,我尝试所有解决方案

经过大量研究,我发现了这个

 AreaClassification.SummaryForSelectedItemsDelegate += SummarizeTeams;
protected string SummarizeTeams(IList selection)
        {
            string str = "*None Selected*";
            if (null != selection && selection.Count > 0)
            {
                StringBuilder contents = new StringBuilder();
                int idx = 0;
                foreach (object o in selection)
                {
                    if (idx > 0) contents.Append(", ");
                    contents.Append(((Area)o).name);
                    idx++;
                }
                str = contents.ToString();
            }
            return str;
        }

为了显示项目列表,我们需要在 c# 上使用 SummaryForSelectedItemsDelegate 方法。我希望它能帮助别人