簡體   English   中英

WPF組合框設置SelectedItem

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM