如何从列表选择器中获取ID值? [英] How to get id values from listpicker?

查看:423
本文介绍了如何从列表选择器中获取ID值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发Windows Phone 8应用程序.

I'm developing windows Phone 8 application.

在我的应用中,我使用列表选择器.列表选择器值是从Web服务(json格式)绑定的

In my app i use List Picker .list picker value is bind from web service (json format)

我的Web服务结果返回格式

My web service result return format

[
   - {
       id: "9",
       name: "Pizza",
       root_id: "4",
       level: "1"
     },
    -{
       id: "10",
       name: "Fine Dining",
       root_id: "4",
       level: "1"
     },
]

我的用于列表选择器的XAML代码

My XAML code for list picker

  <toolkit:ListPicker x:Name="filterpicker"  SelectionChanged="filterpicker_SelectionChanged" Tap="filterpicker_Tap" Foreground="White" BorderThickness="0" Margin="395,-100,0,10"  Height="70" Width="60">

            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <TextBlock  Text="{Binding}" Visibility="Collapsed"/>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>

            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <TextBlock>
                        <Run Text="{Binding}"/>
                    </TextBlock>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>
        </toolkit:ListPicker>

我的绑定C#代码

 void filterwc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {

        var filterdata = e.Result;
        var filtervalue = JsonConvert.DeserializeObject<List<filterdatas>>(filterdata);
        List<string> filtercategories = new List<string>();
        foreach (filterdatas budval2 in filtervalue)
        {
          filtercategories.Add(budval2.id); /**I need to display the name and on selectionchanged event i need to get the id value**/
        }

        filterpicker.ItemsSource = filtercategories;
    }

如果我的问题不清楚,请告诉我更多信息...

if my question is not clear plz tell i give more info ...

我需要这样

发出的列表选择器是这样的

List picker out put come like this

比萨

美食

在SelectionChanged事件上

On SelectionChanged Event

如果我单击比萨饼",我需要输入"9"

if i click Pizza I need to get "9"

如果我点击美食",我需要得到"10"

if i click Fine Dining I need to get "10"

谢谢...

推荐答案

        <toolkit:ListPicker.ItemTemplate>
            <DataTemplate>
                <TextBlock  Text="{Binding name}" Visibility="Collapsed"/>
            </DataTemplate>
        </toolkit:ListPicker.ItemTemplate>

        <toolkit:ListPicker.FullModeItemTemplate>
            <DataTemplate>
                <TextBlock>
                    <Run Text="{Binding name}"/>
                </TextBlock>
            </DataTemplate>
        </toolkit:ListPicker.FullModeItemTemplate>

后面的代码:

    var filterdata = e.Result;
    var filtervalue = JsonConvert.DeserializeObject<List<filterdatas>>(filterdata);
    filterpicker.ItemsSource = filtervalue;

选择更改事件

if(filterpicker.SelectedItem == null) 
   return;
filterdatas element = filterpicker.SelectedItem as filterdatas;
MessageBox.Show("This is the id:"+element.id);

这篇关于如何从列表选择器中获取ID值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆