【发布时间】:2018-02-05 03:03:51
【问题描述】:
我有一个 db 生成的实体:
public partial class UserMobileDevice
{
public string DeviceID { get; set; }
public string DeviceType { get; set; }
public int UserID { get; set; }
public virtual User User { get; set; }
}
现在我想连接一个选择用户并更新记录上的用户 ID 和用户对象的组合框。
这是我的 xaml:
<ComboBox Name="cboDefaultUser"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ItemsSource="{Binding Users}"
DisplayMemberPath="Username"
SelectedValuePath="UserID"
SelectedValue="{Binding TheEntity.UserID,
UpdateSourceTrigger=PropertyChanged,
NotifyOnSourceUpdated=True,
NotifyOnValidationError=True,
Mode=TwoWay}" />
更新本地实体上的 UserID 就好了,但是 User 对象呢?我如何同时分配它?
(同样使用 MVVM)
[加法]
从SelectedValue 绑定可以看出,我的ViewModel 在名为TheEntity 的property 中有entity。所以ViewModel 中实际上没有 UserID{get;set;} property,我也可以使用它来设置 User 对象。那我该怎么做呢?
【问题讨论】:
-
您可以从已更新的用户 ID(来自 db)中找到一个用户对象,然后将 db 结果分配给用户对象。
-
谢谢 我知道它来自哪里以及如何获得它。我的 ViewModel 中有一个用户列表。我会尝试在上面解释更多。
标签: c# wpf entity-framework mvvm combobox