我要做的是,在列表框中获取所选项的属性值。
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代码 -
<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>
现在,我想要的是所选列表框项的C_ID(值)。有什么建议?
答案 0 :(得分:2)
这将是这样的:
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;
}
}
和
Page_Ctor --> listBox1.SelectionChanged += listBox1_SelectionChanged;
欢呼声,
答案 1 :(得分:0)
我在哪里放置“Page_Ctor - &gt; listBox1.SelectionChanged + = listBox1_SelectionChanged;”
这里:
<ListBox .... SelectionChanged="listBox1_SelectionChanged">