【问题标题】:How do I set a ComboBox value using the hiddenID如何使用 hiddenID 设置 ComboBox 值
【发布时间】:2016-02-23 10:16:11
【问题描述】:

很抱歉发布了一个重复的问题。由于我的声誉,我无法在Hidden Id With ComboBox Items?的cmets中发布问题

如何根据 HiddenID 从 ComboBox 中选择一个项目?

SQL 示例:“从 ComboList 中选择 displayValue,其中 hiddenValue = 10"

为方便起见,我粘贴了上面链接中的代码。

public class ComboBoxItem()
{
   string displayValue;
   string hiddenValue;

   //Constructor
   public ComboBoxItem (string d, string h)
   {
        displayValue = d;
        hiddenValue = h;
   }

   //Accessor
   public string HiddenValue
   {
        get
        {
             return hiddenValue;
        }
   }

   //Override ToString method
   public override string ToString()
   {
        return displayValue;
   }
}

然后在你的代码中:

//Add item to ComboBox:
ComboBox.Items.Add(new ComboBoxItem("DisplayValue", "HiddenValue");

//Get hidden value of selected item:
string hValue = ((ComboBoxItem)ComboBox.SelectedItem).HiddenValue;

【问题讨论】:

    标签: .net sql-server wpf c#-4.0 combobox


    【解决方案1】:

    您正在将项目直接添加到组合框控件中。我所做的是创建您拥有的组合框项目自定义类的 List。然后将组合框项目源设置为列表(几乎相同),但是通过这样做,我可以明确地告诉组合框控件的哪个属性是 SELECTED 值与 DISPLAY 值(不能同时设置)。所以,我有以下..

    List<ComboBoxItem> myList = new List<ComboBoxItem>();
    myList.Add(new ComboBoxItem("Display Only", "I am Hidden"));
    myList.Add(new ComboBoxItem("2nd line", "HV2"));
    myList.Add(new ComboBoxItem("Show 3", "S3"));
    
    ComboBox myCombo = new ComboBox();
    myCombo.ItemsSource = myList;
    myCombo.SelectedValuePath = "HiddenValue";
    
    // specifically tell the combobox which "Hidden" value you want to set it to
    myCombo.SelectedValue = "HV2";
    //Get hidden value of selected item: should show "2nd line"
    string showValue = myCombo.Text;
    MessageBox.Show(showValue);
    

    【讨论】:

    • 虽然它有效,但我强烈建议在 XAML 中执行此操作,而不是像这样隐藏代码。还是 +1。
    • @Kelly,我了解,但是如果列表是从某个数据源动态准备的怎么办。是的,绑定可以绑定到视图模型,但至少这会暴露出用户在哪里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2022-01-03
    相关资源
    最近更新 更多