如何从用户选择的列表框中获取字符串值?

时间:2019-05-26 01:34:26

标签: c# wpf listbox

选择一项后,我无法从列表框中获取字符串值。

在我的列表框中,我有图像(盲源)和文本块(盲源)。

我在.xaml页面上的代码:

        <ListBox Name="carListBox" Height="431" Canvas.Left="28" Canvas.Top="65" Width="446" SelectionChanged="ListBoxOnSelection">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Name="brandImage" Source="{Binding Image}" Width="100" Height="150"></Image>
                        <Image Name="carImage" Source="{Binding Image}" Width="150" Height="150"></Image>
                        <TextBlock Name="textDisplay" Text="{Binding ShowDetail}" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我在.xaml.cs页面(C#)上的代码

私有无效ListBoxOnSelection(对象发送者,SelectionChangedEventArgs参数)

    {
       MessageBox.Show(carListBox.SelectedItem.ToString());
       string saveData = carListBox.SelectedItem.ToString();

    }

MessageBox无法显示字符串值,用户选择后也无法获取值。

MessageBox显示[1] https://i.imgur.com/2VSjhgN.jpg

1 个答案:

答案 0 :(得分:0)

您必须以某种方式获取Car对象,然后才能访问它的属性。

类似这样的东西:

private void ListBoxOnSelection(object sender, SelectionChangedEventArgs args)
{
 Car myCar=carListBox.SelectedItem as Car;
 if(myCar != null)
   MessageBox.Show(myCar.ShowDetail); //or any property.
}