[英]WPF ComboBox set SelectedItem
我有一個組合框,可在其中綁定我的模型。 我使用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();
綁定comboBoxShift.ItemsSource = _db.Shifts.ToList();
,其中_db
是我的數據庫上下文。
從另一個窗口,我傳遞ShiftId
。 如何設置組合框的當前項目以顯示ShiftType
。
我相信您的設計有些瑕疵。 您無需出於目的使用數據模板,而只需設置DisplayMemeberPath
。
XAML
<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">
然后從代碼中選擇
comboBoxShift.SelectedItem = My_Shift;
注意:如果要從選定的組合框項目中獲取Shift對象,也將按照以下方法進行操作。
Shift shift = (Shift)comboBoxShift.SelectedItem;
由於您隱藏了一個TextBlocks,因此可以得到所需的結果:
<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">
</ComboBox>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.