1

ページに Silverlight リストピッカー コントロールがあり、List<Countries>Let Sayにバインドされています

アメリカ

イギリス

パキスタン

デンマーク

このリストを listpickercountries にバインドします デフォルトで選択された値がパキスタンになるようにします

選択した項目をこのように設定できます

listpickercountries.selectedindex = 2;

コードビハインドからパキスタンのインデックスを見つけて、このリストピッカーのこのselectedietmを設定する方法はありますか

listpickercountries.selectedindex.Contain("Pakistan"); 

またはそのような何か???

4

3 に答える 3

0

私はあなたの国のクラスを、

public class Countries
    {
        public string name { get; set; }
    }

そして、あなたはすることができます、

listpickercountries.ItemsSource = countriesList;
listpickercountries.SelectedIndex = countriesList.IndexOf( countriesList.Where(country => country.name == "Pakistan").First());
于 2012-06-05T13:58:55.627 に答える
0

I would recommend binding both the ItemsSource AND the SelectedItem as such

<toolkit:ListPicker x:Name="listpickercountries" 
                ItemsSource="{Binding Countries}"
                SelectedItem="{Binding SelectedCountry, Mode=TwoWay}">

In your code behind, set a viewmodel

public SettingsPage()
{
    ViewModel = new ViewModel();
    InitializeComponent();
}

private ViewModel ViewModel
{
    get { return DataContext as ViewModel; }
    set { DataContext = value; }
}

And in the viewmodel

public class ViewModel : INotifyPropertyChanged
{
    public IList<Country> Countries
    {
        get { return _countries; }
        private set
        {
            _countries = value;
            OnPropertyChanged("Countries");
        }
    }

    public Country SelectedCountry
    {
        get { return _selectedCountry; }
        private set
        {
            _selectedCountry= value;
            OnPropertyChanged("SelectedCountry");
        }
    }

}

From there you can set the value of the SelectedCountry at any time and it will set the selected item within the picker eg:

// from code behind
ViewModel.SelectedCountry = ViewModel.Countries.FirstOrDefault(c => c.Name == "Pakistan");

// From ViewModel
this.SelectedCountry = this.Countries.FirstOrDefault(c => c.Name == "Pakistan");
于 2012-06-05T15:23:31.327 に答える
0

必要な国のリストを検索し、それがどのインデックスであるかを確認してから、選択したインデックスをピッカー自体に設定する必要があります。

インデックスは同じになります。

于 2012-06-05T13:11:52.043 に答える