Reputation: 69
What I am trying to do is, get the property value of the selected item in the list box.
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
//listBox1.Items.Clear();
IList<FoodViewModel> food = this.Getfoodlist();
List<Foodlist> foodItems = new List<Foodlist>();
foreach (FoodViewModel foodlist in food)
{
int foodID = foodlist.C_ID;
string foodDetail = foodlist.FoodDetail;
string foodTime = foodlist.FoodTime;
string foodDate = foodlist.DateofFood;
foodItems.Add(new Foodlist() { C_ID = foodID, FoodTime = foodTime, DateofFood = foodDate, FoodDetail = foodDetail});
}
listBox1.ItemsSource = foodItems;
}
public class Foodlist
{
public int C_ID { get; set; }
public string DateofFood{ get; set;}
public string FoodTime{ get; set;}
public string FoodDetail{ get; set;}
}
XAML CODE-
<ListBox Height="528" HorizontalAlignment="Left" Margin="1,4,0,0" Name="listBox1" VerticalAlignment="Top" Width="453">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Name="foodDetail"
Text="{Binding FoodDetail}" />
<TextBlock Name="date"
Text="{Binding DateofFood}" />
<TextBlock Name="time"
Text="{Binding FoodTime}" />
<TextBlock Name="ID"
Text="{Binding C_ID}" Visibility="Collapsed" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Now, what I want to get is the C_ID(value) of selected listbox item. Any suggestions?
Upvotes: 0
Views: 1930
Reputation: 3996
where do I place this "Page_Ctor --> listBox1.SelectionChanged += listBox1_SelectionChanged;"
Here :
<ListBox .... SelectionChanged="listBox1_SelectionChanged">
Upvotes: 0
Reputation: 632
It would be something like this:
private void listBox1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
var c_id = (e.AddedItems[0] as Foodlist).C_ID;
}
}
and
Page_Ctor --> listBox1.SelectionChanged += listBox1_SelectionChanged;
cheers,
Upvotes: 2