c# - 更新 ComboBox 选定项

标签 c# wpf c#-4.0 mvvm

我有一个 ComboBox即从 ItemsSource 填充收藏。我将所有客户填充到一个可观察的集合中,并将其绑定(bind)到集合,就像这样。

<ComboBox ItemsSource="{Binding Path=Customers}"
          SelectedValue="{Binding CustomerKey}"
          DisplayMemberPath="FullName" SelectedValuePath="{Binding Key}" />

在同一个 View 中,我有一个数据网格,其中包含基本信息和订单。选择订单后,在 View 模型中,我将获得更详细的订单记录。我想要做的是使用新选择的订单的客户信息更新 View 。

我试图设置 CustomerKey ,然后根据它的键选择该客户——不过我认为我做错了。我怎样才能做到这一点?

最佳答案

ComboBox 的 SelectedValuePath 属性应设置为字符串(而不是绑定(bind)),该字符串指定存储 key 的 Customer 类的属性名称:

<ComboBox ItemsSource="{Binding Path=Customers}"
          SelectedValue="{Binding CustomerKey}"
          DisplayMemberPath="FullName" SelectedValuePath="Key" />

如果 Customer 类具有 FullName 和 Key 属性,并且 Key 属性具有与 View 模型的 CustomerKey 属性相同的类型,这将起作用。

具有与您将 CustomerKey 属性设置为的值匹配的键的客户也必须存在于您将 ComboBox 绑定(bind)到的客户集合中,才能选择项目。

关于c# - 更新 ComboBox 选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41730889/

相关文章:

c# - ASP.Net webforms - 动态 SEO 友好 URL

wpf - 最大化 WPF 不会更新宽度?

.net - Visual Studio 2010 - WPF/Silverlight 和内置网格

c# - N 层应用程序上的 Entity Framework 自跟踪实体

c# - 根据是否重复返回true或false

c# - 如何在 C# 中将 Base64 PNG 图像字符串转换为 PNG 格式

silverlight-4.0 - 从 xap 内部的所有 dll 中提取程序集

c# - 将选项设置为 FbTransaction

c# - 我需要帮助在 C# 中显示文本文件中的单词(字符串)

c# - 装饰器流是否也作为流实例的适配器或其他设计模式来实现?