WPF组合框设置SelectedItem

时间:2019-03-18 20:19:25

标签: c# wpf

我有一个组合框,可以在其中绑定我的模型。我使用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

2 个答案:

答案 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>