2017-01-08 77 views
0

在我的程序中,我将值存储在列表中。我需要从一个组合框中返回这些值中的两个。我在互联网上搜索,但无法找到答案。请给我一些提示。 这里是我的代码:从组合框中返回两个值

价值观列表:

public class ActualCurrencyBoxData 
{ 
    public string displayValue { get; private set; } 
    public decimal currencyCourse { get; set; }  
    public int currencyConverter { get; set; } 

    public ActualCurrencyBoxData(string ncurrencyName, string ncurrencyCode, decimal ncurrencyCourse, int ncurrencyConverter) 
    { 
     displayValue = ncurrencyName +" (" +ncurrencyCode+ ")"; 
     currencyCourse = ncurrencyCourse;   
     currencyConverter = ncurrencyConverter;   
    } 

} 

我只能返回一个值(actualCurrencyCourse,我还需要currencyConverter):

List<ActualCurrencyBoxData> checkBoxVal = new List<ActualCurrencyBoxData>(); 

public void CurrencyBoxLoad(object sender, RoutedEventArgs e) 
{ 
    var comboBox = sender as ComboBox; 
    comboBox.ItemsSource = checkBoxVal; 
    comboBox.DisplayMemberPath = "displayValue"; 
    comboBox.SelectedValuePath = "currencyCourse";         
} 

private void Count_Click(object sender, RoutedEventArgs e) 
{  
    actualCurrencyCourse = ActualCurrencyBox.SelectedValue.ToString()); 
} 
+0

有一个厕所k at http://wpftoolkit.codeplex.com/wikipage?title=CheckComboBox&referringTitle=Home – Fruchtzwerg

回答

2

可以使用SelectedItem财产,而不是获得选定的项目的对象:

private void Count_Click(object sender, RoutedEventArgs e) 
{  
    actualCurrencyCourse = ((ActualCurrencyBoxData)ActualCurrencyBox.SelectedItem).currencyCourse; 
    actualCurrencyConverter = ((ActualCurrencyBoxData)ActualCurrencyBox.SelectedItem).currencyConverter; 
} 
+0

谢谢你的回复,我试过这个,得到这个错误:ActualCurrencyBoxData'没有包含'CurrencyConverter'的定义,也没有扩展方法' CurrencyConverter'接受类型'ActualCurrencyBoxData'的第一个参数可以找到(你是否缺少using指令或程序集引用?) –

+0

woops,看起来像我误解了你的属性名称的外壳。我通常使用上层骆驼案例(又名Pascal案例)来处理类属性。习惯很难打破:)修正外壳(就像我在第一篇文章中所做的那样)以匹配你的套子。另外,如果你有兴趣:http://wiki.c2.com/?PascalCase – ryancdotnet

+0

哦,我不能相信我错过了它。它的工作,谢谢你,我会看看它。 –