获取当前ComboBox值

问题描述 投票:0回答:1

目标是获取以编程方式填充的

ComboBox
的当前值。

在以下 C# 代码片段中,

ItemsSource
ComboBox
填充有从外部服务获取的数据:

var categories = new List<CategoryDTO>();

for (var index = 0; index < response.Categories.Count(); index++)
{
    categories.Add(response.Categories.ElementAt(index));
}

CboCategory.DisplayMemberPath = "Name";
CboCategory.SelectedValuePath = "Id";
CboCategory.ItemsSource = categories;

但是,当访问

CboCategory.SelectedItem
时,它返回
Interface.Me.DTO.CategoryDTO
而不是
categories
填充的实际值。

有趣的是,

Name
字段可以在调试模式下访问:

为什么返回类名以及如何检索实际值?

c# wpf
1个回答
2
投票

正如 ASh 所指出的,你需要像这样投射结果:

((CategoryDTO)CboCategory.SelectedItem).Name 
© www.soinside.com 2019 - 2024. All rights reserved.