在ListPicker中获取所选项的值

时间:2015-04-17 04:42:38

标签: windows-phone-7 windows-phone-8 wp7test

我有一个显示项目名称的listpicker。选择项目时,我想获得所选项目的项目ID。我该怎么做?

<toolkit:ListPicker x:Name="lstItem" 
                                            FullModeHeader="Item"
                                            SelectionMode="Single" 
                                            ItemsSource="{Binding getItems}"  
                                            ExpansionMode="FullscreenOnly"  
                                            Margin="12,5,10,0" 
                                            Grid.Row="0" 
                                            Grid.Column="1"

                                            Background="White"
                                            FontSize="21"
                                            Header="" 
                                            Foreground="Black"
                                            BorderThickness="0" Grid.ColumnSpan="2" SelectionChanged="lstItem_SelectionChanged"
                                     >
                            <toolkit:ListPicker.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Name}"  />                                        
                                </DataTemplate>                                    
                            </toolkit:ListPicker.ItemTemplate>
                            <toolkit:ListPicker.FullModeItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal" Margin="16 15 0 15">
                                        <TextBlock Text="{Binding Name}"
                                   Margin="0 0 0 0"
                                   FontSize="25" 
                                   FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </toolkit:ListPicker.FullModeItemTemplate>
                        </toolkit:ListPicker>

在C#代码中,我绑定到listpicker。这个数据直接我绑定到列表选择器。

public ObservableCollection<Items> bindItems()
    {
        listItems.Clear();
        //int i = Common.intCustomerId; //&& btypes.ChqRtnPaymentNo == ""
        var itemlist = from DailyItemStock DailyItm in APPCommon.SFADB
                       join ItemMaster IM in APPCommon.SFADB on DailyItm.ItemMasterID equals IM.ID
                       where DailyItm.StockDate == System.DateTime.Today
                       select new
                       {
                           DailyItm.ItemMasterID,
                           DailyItm.BatchNo,
                           IM.Name
                       };

        listItems.Add(new Items() { ItemMasterID = 0, Name = "Select One" });
        foreach (var lists in itemlist)
        {
            listItems.Add(new Items()
            {
                ItemMasterID = lists.ItemMasterID,
                BatchNo = lists.BatchNo,
                Name = lists.Name,                  
            });
        }

        itemlist = null;
        return listItems;
    }

2 个答案:

答案 0 :(得分:3)

一种可能的方式:

Items selectedItem = (Items)lstItem.SelectedItem;
int id = selectedItem.ItemMasterID;

答案 1 :(得分:0)

为了获取您必须在数据库中创建它的ID号。

示例

SHOP_ID ='4987bc1b-c0a8-6cb7-12f4-0243011f7099'和(debitor_typenulldebitor_type in(CASE WHEN(select techfund_debitor_enabled from impl_shop where shop_id='4987bc1b-c0a8-6cb7-12f4-0243011f7099'