将selecteditem设置为listpicker

aco*_*aco 1 selecteditem windows-phone-7 listpicker

XAML

 <DataTemplate x:Name="PickTmplItemTipo">
            <StackPanel Orientation="Horizontal">               
                <TextBlock Text="{Binding tipo}" />                
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Name="PickTmplFullTipo">            
            <StackPanel Orientation="Horizontal" Margin="0,25,0,0">
                <TextBlock Name="lblTipo" Width="350" Text="{Binding tipo}" FontFamily="{StaticResource PhoneFontFamilyLight}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
            </StackPanel>
        </DataTemplate>


<toolkit:ListPicker    
         Grid.Row="0"
         ItemsSource="{Binding}" Margin="21,0,22,0" 
         Header="{Binding Source={StaticResource LocalizedStrings}, Path=Localizedresources.strTipoUni}" 
         FullModeHeader="{Binding Source={StaticResource LocalizedStrings}, Path=Localizedresources.strTipoUni}" 
         FullModeItemTemplate="{Binding Source={StaticResource PickTmplFullTipo}}" 
         ItemTemplate="{Binding Source={StaticResource PickTmplItemTipo}}" 
         Name="lPickTipo" 
         TabIndex="0" 
         Height="98" 
         VerticalAlignment="Top" 
         ExpansionMode="FullScreenOnly" 
         Tap="lPickTipo_Tap" 
         SelectionChanged="lPickTipo_SelectionChanged" />
Run Code Online (Sandbox Code Playgroud)

C#

填写listpicker:

    List<tipos> _lstTipos { get; set; }
    private void cargaLista()
    {
        using (serviciosDBDataContext miDataContext = new serviciosDBDataContext(conn))
        {
            _lstTipos = miDataContext.tipos.ToList();
        }

        this.lPickTipo.ItemsSource = _lstTipos;
    }
Run Code Online (Sandbox Code Playgroud)

设置selecteditem:

如果我尝试这个,返回此错误" SelectedItem必须始终设置为有效值."

this.lPickTipo.SelectedItem = myStringValue;
Run Code Online (Sandbox Code Playgroud)

如果我尝试下一件事,返回null错误:

this.lPickTipo.SelectedItem = lPickTipo.Items.First(x => (x as ListPickerItem).Content.ToString() == myStringValue);
Run Code Online (Sandbox Code Playgroud)

但我无法通过selectindex设置,因为我不知道哪个索引等效

Kev*_*sse 5

(例如:this.lPickTipo.SelectedItem = _lstTipos[2];)