我有一个显示项目名称的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;
}
答案 0 :(得分:3)
一种可能的方式:
Items selectedItem = (Items)lstItem.SelectedItem;
int id = selectedItem.ItemMasterID;
答案 1 :(得分:0)
为了获取您必须在数据库中创建它的ID号。
示例
SHOP_ID ='4987bc1b-c0a8-6cb7-12f4-0243011f7099'
和(debitor_type
为null
或debitor_type
in(CASE WHEN(select techfund_debitor_enabled from impl_shop where shop_id='4987bc1b-c0a8-6cb7-12f4-0243011f7099'
)