2016-11-22 5 views
1

私はメインpage.xmalにコンボボックスを持っています。ObservableCollectionからコンボボックスが作成され、国名のリストが表示されます。私がしたいことは、ユーザーが国の名前を選択すると、各国に関連するコードを渡したいと思います。名前とコードは両方ともObservableCollectionに格納されます。ObservableCollectionから別のメソッドに移入されたコンボボックスから値を渡すUWP

私はコンボボックスに私も許可するプロパティを設定できます。選択した項目を国コードと同じに設定します。どんな助けも素晴らしいだろう。 SelectedValuePathはあなたが記述まさにん -

 <StackPanel Margin="10,100,0,0" Orientation="Vertical" > 
     <ComboBox Name="countryCombo" 
      PlaceholderText="Select Country" 
      ItemsSource="{x:Bind ReadInFile.CountryCodes, Mode=OneWay}" 
      SelectedIndex="{x:Bind ReadInFile.SelectedIndex}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Code" 
      MinWidth="250" Margin="5" Opacity="0.65"> 
     </ComboBox> 
     <TextBox Name="CityTextBox" PlaceholderText="Enter City"/> 
    </StackPanel> 

private async void WeatherCityButton_Click(object sender, RoutedEventArgs e) 
    { 
     var city = CityTextBox.Text.ToString(); 
     var country = countryCombo.SelectedValuePath.ToString(); 

     RootObject myCityWeather = await WeatherFacade.GetWeatherCity(country, city); 

     WeatherResultCityText.Text = myCityWeather.current_observation.display_location.city + " _ " + myCityWeather.current_observation.temp_c.ToString() + "-" + myCityWeather.current_observation.wind_kph; 

    } 

答えて

1

あなたはすでにそれはあなたがそれをする方法を設定するんです。これが設定されると、ComboBoxのSelectedValueプロパティにアクセスすると、選択した項目のコードが提供されます。

var country = countryCombo.SelectedValuePath.ToString(); 

へ:

var country = countryCombo.SelectedValue.ToString(); 

あなたは「私は間違っていないならば、それは単にあなたのように、「コード」を返します持っていた方法

あなたは、この行を変更するだけで済みます

+0

あなたが入れたのと同じ価値を取り戻すことができました。時々木から木を見るのは難しい。 –

+0

問題はありません - 誰もが時々起こります。それはあなたのために働いて以来、答えとしてマークしてください。 :3 – Yushatak

関連する問題