使用来自Binded Combobox的SelectedValue查找WPF组合框项目

时间:2013-05-02 15:02:07

标签: wpf data-binding combobox selecteditem selectedvalue

任何人都可以帮我找到使用value属性的Combobox项目。组合框绑定到数据集。 这是我的代码。

XAML代码

ComboBox Grid.Column="0" Grid.Row="3" Height="23" HorizontalAlignment="Left"
Margin="12,23,0,0" Name="cbxDesignation" VerticalAlignment="Top" Width="120" 
ItemsSource="{Binding}" SelectedValuePath="Desig_Code" SelectedItem="Desig_Name"

C#代码背后。

//Populate Designation

<i> strSQL = "SELECT Desig_Code, Desig_Name FROM Desig_Master";

            dsCommon = CDTier.ReturnDataSet(strSQL);

            cbxDesignation.DataContext = dsCommon.Tables[0].DefaultView;

            cbxDesignation.DisplayMemberPath = dsCommon.Tables[0].Columns["Desig_Name"].ToString();
            cbxDesignation.SelectedValuePath = dsCommon.Tables[0].Columns["Desig_Code"].ToString();
            if (dsCommon.Tables[0].Rows.Count > 0)
                cbxDesignation.SelectedIndex = 0;
            dsCommon.Dispose();
</i>

根据员工的选择,我想显示他的指定。在数据库中,我只有我在SelectedValuePath中映射的指定代码(Desig_Code)。

我怎样才能做到这一点?

我有cbxDesignation.SelectedValue如下

cbxDesignation.SelectedValue =  (dsMaster.Tables[0].Rows[0] 
["Desig_Code"].ToString() != "") ? dsMaster.Tables[0].Rows[0]
["Desig_Code"].ToString() : "0";

请帮助任何人......

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用cbxDesignation.ItemContainerGenerator.ContainerFromItem(cbxDesignation.SelectedValue),它可以为您提供ComboBoxItem

或者您可以使用ItemContainerGenerator.ContainerFromIndex(cbxDesignation.SelectedIndex)作为替代