我对 wpf 和数据绑定有点陌生,我坚持这一点。
所以基本上我有一个 EyeColors 和 EyeColorIds 表。Eye Color Id 是 Person 表的外键。
我创建了一个绑定到 EyeColor 表的组合框,该表用可能的眼睛颜色填充它。但是,当用户编辑一个人时,我希望该人的眼睛颜色已经被选中。我怎样才能做到这一点?
<ComboBox
DataContext="{StaticResource tblEyeColorViewSource}"
Height="23"
HorizontalAlignment="Left"
Margin="95,125,0,0"
Name="EColorBox"
VerticalAlignment="Top"
Width="120"
DisplayMemberPath="EyeColor"
ItemsSource="{Binding}" />
那是我的组合框的 xaml。构建窗口时获得特定人的眼睛颜色。
所以在创建编辑窗口之前,我从数据网格中获取数据并创建一个人对象
然后我构建编辑窗口
public AddEditForm(PeopleManagerController pmc, Person p)
{
controller = pmc;
InitializeComponent();
personToAE = p;
FnameText.DataContext = personToAE;
LnameText.DataContext = personToAE;
datePicker1.DataContext = personToAE;
datePicker1.Text = personToAE.DateOfBirth;
AddEditButton.Content = "Edit";
}
然后,当用户单击编辑按钮时,它会将要编辑的人发送到控制器类以进行 SQL 事务。
至于 xaml,我只是创建控件并将它们绑定到 person 对象属性。我希望要编辑的人的眼睛颜色属性是组合框的选定值。