【问题标题】:ComboBox does not display the textComboBox 不显示文本
【发布时间】:2020-06-09 09:48:01
【问题描述】:

我尝试从数据库中检索值,所有控件都显示除了组合框之外的值!我正在使用 WPF

<ComboBox Grid.Row="2" BorderBrush="#959595" x:Name="Cmb_Marque" Margin="5" materialDesign:HintAssist.Hint="Marque"  Foreground="WhiteSmoke"   Style="{StaticResource MaterialDesignFloatingHintComboBox}" FontFamily="Champagne &amp; Limousines" FontSize="14" SelectionChanged="Cmb_Marque_SelectionChanged"  >
                <ComboBox.ItemContainerStyle>
                    <Style TargetType="{x:Type ComboBoxItem}">

                        <Setter Property="Foreground" Value="#2196f3"/>
                    </Style>
                </ComboBox.ItemContainerStyle>
            </ComboBox>
            <ComboBox Grid.Row="3" BorderBrush="#959595" x:Name="Cmb_Modele" Margin="5" materialDesign:HintAssist.Hint="Modéle"  Foreground="WhiteSmoke"   Style="{StaticResource MaterialDesignFloatingHintComboBox}" FontFamily="Champagne &amp; Limousines" FontSize="14" IsReadOnly="True" IsEditable="False">
                <ComboBox.ItemContainerStyle>
                    <Style TargetType="{x:Type ComboBoxItem}">

                        <Setter Property="Foreground" Value="#2196f3"/>
                    </Style>
                </ComboBox.ItemContainerStyle>
            </ComboBox>

这是c#代码

if (Config.cn.State == ConnectionState.Closed)
                Config.cn.Open();
            string Query = "Select Vehicule.Matricule,Vehicule.Nchassis,Vehicule.DateAchat,Vehicule.DateMiseService,Vehicule.Prix,Vehicule.Couleur,Vehicule.Carburant,Vehicule.Etat,Vehicule.Kilometrage,Vehicule.IdMarque,Modele.Libelle from Vehicule inner join Modele on Vehicule.IdModele=Modele.IdModele where Vehicule.Matricule=@matricule";

            Config.cmd = new SqlCommand(Query,Config.cn);
            Config.cmd.CommandType = CommandType.Text;
            Config.cmd.Parameters.AddWithValue("matricule",mtc);
            Config.dr = Config.cmd.ExecuteReader();
            while(Config.dr.Read())
            {
                txt_Matricule.Text = Config.dr[0].ToString();
                txt_Chassis.Text = Config.dr[1].ToString();
                Dtp_DateAchat.Text = Config.dr[2].ToString();
                Dtp_miseneservice.Text = Config.dr[3].ToString();
                txt_Prix.Text = Config.dr[4].ToString();
                txt_Couleur.Text = Config.dr[5].ToString();
                Cmb_Carburant.Text= Config.dr[6].ToString();
                Cmb_Disponibilite.Text= Config.dr[7].ToString();
                txt_kilometrage.Text = Config.dr[8].ToString();
                Cmb_Marque.Text = Config.dr[9].ToString();
                Cmb_Modele.Text = Config.dr[10].ToString();


            }
            Config.cn.Close();

这就是结果:

【问题讨论】:

    标签: c# wpf combobox


    【解决方案1】:

    ComboBox 具有包含可用项目列表的 ItemsSource 和指示用户当前正在选择的项目的属性 SelectValue

    【讨论】:

    • 是的,我知道!但为什么它不显示值,文本值?当我在 messagebox 中测试 combobox.text 的值时,我得到了正确的值,但它并没有像您在图像中看到的那样显示
    • 根据您共享的代码,您没有设置 ComboBox 的 ItemsSource 属性。如果我没记错的话,ComboBoxes 被命名为“Cmb_xxx”,你只需设置它们的 Text 属性。
    • 我在另一个方法中做到了
    • string querymarque = "select * from Marque"; Config.cmd = new SqlCommand(querymarque, Config.cn); if (Config.cn.State == ConnectionState.Closed) Config.cn.Open(); Config.dr = Config.cmd.ExecuteReader(); while (Config.dr.Read()) { Cmb_Marque.Items.Add(Config.dr[0].ToString()); }
    • 你是什么意思?你能解释一下吗?我是 WPF 的新手
    猜你喜欢
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多