我有一个组合框,可以在其中绑定我的模型。我使用DataTemplate来显示数据
<ComboBox x:Name="comboBoxShift">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ShiftId}" Visibility="Hidden"/>
<TextBlock Text="{Binding ShiftType}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
并将其绑定到comboBoxShift.ItemsSource = _db.Shifts.ToList();
,其中_db
是我的数据库上下文。
我从另一个窗口通过ShiftId
。
如何设置组合框的当前项目以显示ShiftType
。
答案 0 :(得分:0)
我相信您的设计有些瑕疵。您无需出于目的使用数据模板,而只需设置int CurrentYear;
int BornYear;
int age;
printf("What year is it?\n");
scanf("%d", &CurrentYear);
printf("What year you were born?\n");
scanf("%d", &BornYear);
age = CurrentYear - BornYear;
printf("You are %d years old\n", age);
。
XAML
DisplayMemeberPath
然后从代码中选择
<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">
注意:如果要从选定的组合框项目中获取Shift对象,这也是您要执行的操作。
comboBoxShift.SelectedItem = My_Shift;
答案 1 :(得分:-1)
由于您隐藏了一个TextBlock,因此将提供您想要的结果:
<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">
</ComboBox>