2

WindowsPhone アプリでリスト ピッカーを使用していますが、リスト ピッカーで選択した要素を読み込むことができません。選択した値は、ページの読み込み中に読み込まれた最初の項目を示していますが、選択変更イベントで取得する値は正しいもの。助けてください

XAML :

<Grid.Resources>
    <DataTemplate  x:Name="picker">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Name}" Margin="0 0 0 0"  FontSize="25" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
        </StackPanel>                      
    </DataTemplate>
    <DataTemplate x:Name="PickerFullModeItemTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Name}" Margin="0 0 0 0" FontSize="18" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
        </StackPanel>
    </DataTemplate>
</Grid.Resources>

<toolkit:ListPicker ItemTemplate="{StaticResource PickerFullModeItemTemplate}" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"  x:Name="list_city" Grid.Row="3" Grid.Column="5" Grid.ColumnSpan="2"  VerticalAlignment="Top" SelectionChanged="list_city_SelectionChanged" Height="170"  Grid.RowSpan="1" Margin="12,12,12,0"   />

C#:

private void list_city_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    int i = list_city.SelectedIndex;
    string val = lst_cities[i];  //list of cities    
}
4

2 に答える 2

0

これを試して!それはうまくいくかもしれません、

private void list_city_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    int i = (sender as ListBox).SelectedIndex;
    string val = lst_cities[i];
}
于 2013-11-08T07:08:41.123 に答える
0

TwoWay データバインディングを使用して、ListBox の SelectedItem プロパティを ViewModel のプロパティにバインドする必要があります。ListBox がロードされたときに必要な項目が正しく選択されている場合、その項目は正しく選択されます。

于 2013-11-08T08:14:30.383 に答える