如何正确地将数据从 Web API 绑定到 WPF 中的 ListBox?

错别字

我有一个 ASP.NET Web API,根据我的测试它可以正常工作。现在,我想在一个简单的 WPF 应用程序中使用它。我只想从 API 获取数据,将其显示在客户端应用程序中,然后仅使用客户端应用程序从数据库中添加或删除数据。

我的问题是,当我将数据传递给 a 时ListBox,我会丢失信息,特别是我丢失Id了对象的 ,稍后我需要这些信息才能从数据库中删除它。在我的场景中,我的其中一个页面中有这样的内容:

<ListBox
    Name="carCategoryListBox"
    Grid.Row="2"
    Grid.Column="1" />

然后,在.cs页面文件中,我执行以下操作:

private void Page_Loaded(object sender, RoutedEventArgs e)
{
    BindCarCategoryList();
}

private async void BindCarCategoryList()
{
    var client = CarHttpClient.GetClient();

    HttpResponseMessage response = await client.GetAsync("api/carcategories");

    if (response.IsSuccessStatusCode)
    {
        var content = await response.Content.ReadAsStringAsync();
        var carCategories = JsonConvert.DeserializeObject<List<DTO.CarCategory>>(content);

        carCategoryListBox.ItemsSource = carCategories.Select(cc => cc.Category).ToList();
    }
    else
    {
        MessageBox.Show("Error code " + response.StatusCode + "\nMessage - " + response.ReasonPhrase);
        return;
    }
}

如您所见,我只是获取Category对象字段,并将它们传递ListBox给要显示的 。CarCategory班是非常简单,可以看到下面:

public class CarCategory
{
    public int Id { get; set; }

    public string Category { get; set; }
}

问题是在稍后阶段我需要获取Id对象的实际值并使用它。但是,由于我只将Category字段传递ListBox,因此Id在我的情况下,此信息以某种方式丢失了。如果我做这样的事情:

int id = carCategoryListBox.SelectedIndex;

然后,我只是获得了(它在列表Id中的ListBox哪个项目)中的项目,我实际上并没有获得Id存储在数据库中的对象的原件任何想法如何将数据传递给 aListBox以某种方式仍然保留原始Id信息?

ListBox.SelectedIndex是 ItemsSource 中所选项目的位置。如果没有选中的项目,它甚至可以是 -1。它与价值不同Id

要获取数据绑定对象,请进行一些更改:

1)List<CarCategory>用作ItemsSource:

carCategoryListBox.ItemsSource = carCategories;

2) 为其设置 ListBox.DisplayMemberPath 以显示类别名称:

<ListBox DisplayMemberPath="Category"
    Name="carCategoryListBox"
    Grid.Row="2"
    Grid.Column="1" />

3) 使用SelectedItem属性来获取选定的项目(可以是null):

var category = (CarCategory)carCategoryListBox.SelectedItem;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF / C#将自定义对象列表数据绑定到ListBox?

来自分类Dev

数据将Int属性绑定到WPF中的Enum

来自分类Dev

WPF ListBox绑定更新

来自分类Dev

绑定到ListBox ItemTemplate中的矩形?

来自分类Dev

在WPF槽LINQ中使用DataTemplate将ListBox的ListItem的属性绑定到SQL

来自分类Dev

WPF ObservableCollection不会绑定到ListBox

来自分类Dev

如何使用代码隐藏将ReactiveList绑定到WPF ListBox或ListView?

来自分类Dev

将通用参数绑定到Web API中的自定义模型绑定器

来自分类Dev

如何将数据绑定到WPF中的gridcontrol

来自分类Dev

WPF绑定ListBox中的CustomControl属性

来自分类Dev

无法将VM中的类绑定到WPF中的View

来自分类Dev

如何正确地将“选择”选项与API调用绑定?

来自分类Dev

WPF-尝试创建绑定到数据源的多选表时使用Datagrid,ListView或Listbox

来自分类Dev

如何正确地将数据数组从vue3中的VueApexCharts库传递到图表?

来自分类Dev

如何在WPF中绑定到UpdateSourceTrigger?

来自分类Dev

如何将枚举ItemsControl绑定到WPF中的集合?

来自分类Dev

WPF ListBox绑定更新

来自分类Dev

数据将Int属性绑定到WPF中的Enum

来自分类Dev

MVVM-如何将字符串的ObservableCollection绑定到ListBox WPF中

来自分类Dev

如何正确地将染料设置到ItemStack中?

来自分类Dev

WPF绑定从ListBox ItemTemplate

来自分类Dev

在WPF中的XAML中,将数据从XmlDataProvider绑定到ListBox失败

来自分类Dev

WPF从数据绑定listBox中的选定项目嵌套的属性

来自分类Dev

WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

来自分类Dev

WPF - 将 DataGrid 项绑定到 ListBox 项

来自分类Dev

WPF 如何将命令绑定到 RichTextBox 中的 ContextMenu?

来自分类Dev

wpf 帮助将数据绑定到 TabControl 中的控件

来自分类Dev

来自 Web api 的数据未绑定到 Angular 中的视图

来自分类Dev

如何正确地从多个 API 调用中获取数据并将其显示到 React 中的 DOM

Related 相关文章

  1. 1

    WPF / C#将自定义对象列表数据绑定到ListBox?

  2. 2

    数据将Int属性绑定到WPF中的Enum

  3. 3

    WPF ListBox绑定更新

  4. 4

    绑定到ListBox ItemTemplate中的矩形?

  5. 5

    在WPF槽LINQ中使用DataTemplate将ListBox的ListItem的属性绑定到SQL

  6. 6

    WPF ObservableCollection不会绑定到ListBox

  7. 7

    如何使用代码隐藏将ReactiveList绑定到WPF ListBox或ListView?

  8. 8

    将通用参数绑定到Web API中的自定义模型绑定器

  9. 9

    如何将数据绑定到WPF中的gridcontrol

  10. 10

    WPF绑定ListBox中的CustomControl属性

  11. 11

    无法将VM中的类绑定到WPF中的View

  12. 12

    如何正确地将“选择”选项与API调用绑定?

  13. 13

    WPF-尝试创建绑定到数据源的多选表时使用Datagrid,ListView或Listbox

  14. 14

    如何正确地将数据数组从vue3中的VueApexCharts库传递到图表?

  15. 15

    如何在WPF中绑定到UpdateSourceTrigger?

  16. 16

    如何将枚举ItemsControl绑定到WPF中的集合?

  17. 17

    WPF ListBox绑定更新

  18. 18

    数据将Int属性绑定到WPF中的Enum

  19. 19

    MVVM-如何将字符串的ObservableCollection绑定到ListBox WPF中

  20. 20

    如何正确地将染料设置到ItemStack中?

  21. 21

    WPF绑定从ListBox ItemTemplate

  22. 22

    在WPF中的XAML中,将数据从XmlDataProvider绑定到ListBox失败

  23. 23

    WPF从数据绑定listBox中的选定项目嵌套的属性

  24. 24

    WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

  25. 25

    WPF - 将 DataGrid 项绑定到 ListBox 项

  26. 26

    WPF 如何将命令绑定到 RichTextBox 中的 ContextMenu?

  27. 27

    wpf 帮助将数据绑定到 TabControl 中的控件

  28. 28

    来自 Web api 的数据未绑定到 Angular 中的视图

  29. 29

    如何正确地从多个 API 调用中获取数据并将其显示到 React 中的 DOM

热门标签

归档