2017-01-08 16 views
0

私のプログラムでは、リストに値が格納されています。私は1つのコンボボックスからこれらの値のうちの2つを返す必要があります。私はインターネットで検索しましたが、答えを見つけることができませんでした。いくつかのヒントを教えてください。ここ は私のコードです:リストでコンボボックスから2つの値を返す

値:

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

loo 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

ありがとう、私はこの1つを試してこのエラーを取得します:ActualCurrencyBoxData 'には' CurrencyConverter 'と拡張メソッドの定義が含まれていません' CurrencyConverter 'が' ActualCurrencyBoxData '型の最初の引数を受け入れることができました(使用するディレクティブまたはアセンブリ参照がありませんか?) –

+0

プロパティの名前のケーシングを誤読しているようです。私は通常、クラスのプロパティのために上部ラクテルケース(パスカルの場合)を使用します。習慣は壊れにくい:)あなたのものに合うようにケーシングを修正する(私が最初の投稿でやったように)。また興味があれば:http://wiki.c2.com/?PascalCase – ryancdotnet

+0

ああ、私はそれを逃したとは思わない。それは動作する、ありがとう、私はそれを見てみましょう。 –

関連する問題