如何使用c#从Windows Phone应用程序的列表框中获取所选项目的值

时间:2016-07-19 11:43:23

标签: c# wpf

我正在尝试从列表框中获取所选项的值,并使用MessageBox.Show()显示该消息。 这是列表框的我的XAML代码

<ListBox x:Name="lbTodoList" Grid.Row="1"  Width="350" Margin="100,0,0,0">
                <ListBox.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF060000" Offset="0"/>

                    </LinearGradientBrush>
                </ListBox.Background>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock x:Name="Listbox" Grid.Row="1" Text="{Binding salutationName}" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

c#代码用于数据绑定

List<UserData> info = JsonConvert.DeserializeObject<List<UserData>>(e.Result);
List<UserData> items = new List<UserData>();
lbTodoList.Items.Clear();
foreach (UserData item in info)
{
    items.Add(new UserData() { salutationName = item.salutationName });
}
this.lbTodoList.ItemsSource = items;

这是为了显示所选项目

 string text = lbTodoList.SelectedItem.ToString();

        MessageBox.Show(text);

但问题不是显示所选项目,而是显示projectName.ClassName

1 个答案:

答案 0 :(得分:0)

一个简单的解决方法是覆盖UserData的ToString以提供您期望的内容。

public class UserData
{
    ...

    public override string ToString()
    {
         return this.somevalue;
    }
}