如何从列表选择器中获取ID值? [英] How to get id values from listpicker?
本文介绍了如何从列表选择器中获取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屋!
查看全文