使用带搜索参数的comboBox

时间:2013-08-21 07:22:27

标签: c#

我在一个小时前提出了一个问题,询问如何做类似的事情,在我得到一些帮助后,我能够做到。基本上,我收到一个错误说 “无法确定条件表达式的类型,因为'string'和'UltimateTeam.Toolkit.Parameter.Formation'之间没有隐式转换”

这是代码,搜索一个玩家:我也得到了关于阵型的错误。

public async void start()
        {
                var searchRequest = new SearchRequest();
                var searchParameters = new PlayerSearchParameters
                {
Formation = comboBox2.SelectedItem == null ? Formation.FourThreeThree : (Formation)(comboBox2.SelectedItem as ComboboxItem2).Value2,
};

第二段代码:

foreach (Formation formation in Enum.GetValues(typeof(Formation)))
            {
                ComboboxItem2 item2 = new ComboboxItem2();
                item2.Text2 = formation.ToString();
                item2.Value2 = formation;
                comboBox2.Items.Add(item2);
            }

最后一段代码:

public class ComboboxItem2
        {
            public string Text2 { get; set; }
            public object Value2 { get; set; }

            public override string ToString()
            {
                return Text2;
            }
        }

关于如何修复它的任何想法?

谢谢,

杰克。

1 个答案:

答案 0 :(得分:2)

使用Enum.Parsestring转换为您的枚举类型Formation

Formation = comboBox2.SelectedItem == null 
           ? Formation.FourThreeThree 
           : (Formation) Enum.Parse(typeof(Formation), comboBox2.Text);

修改所以PlayerSearchParameters.Formationstring,这应该有效:

Formation = comboBox2.SelectedItem == null 
           ? Formation.FourThreeThree.ToString()
           : comboBox2.Text,