2012-02-03 2 views
0

List Picker의 값을 원하는 값으로 설정하는 데 어려움을 겪고 있습니다.ListPicker에서 매개 변수로 전달 된 선택한 항목을 강조 표시하는 방법 ??

나는 XAML

DataTemplate x:Key="ListPickerED"> 
    <Grid HorizontalAlignment="Stretch" Width ="420"> 
<TextBlock 
Text="{Binding Company}" 
FontSize="{StaticResource PhoneFontSizeMedium}" 
Grid.Column="0" Grid.ColumnSpan="1" 
VerticalAlignment="Top" Margin ="0, 12, 0, 0"/> 


</Grid > 
</DataTemplate > 
<toolkit:ListPicker x:Name="CompanyListPicker" 
CacheMode="BitmapCache" 
ItemsSource="{Binding AllMyCompanies}" 
ItemTemplate="{StaticResource ListPickerED }" 
Margin ="9,267,12,26"> 
</toolkit:ListPicker>" 

의 listpicker가 제대로 그와 함께, 아무 문제가 채워되지 않도록해야합니다.

내 문제는 내가 페이지를 탐색 할 때 ListPicker에 강조 표시된 탐색 값이 전달되도록하고 싶습니다.

NavigationContext.QueryString.TryGetValue ("BridgeCompany_Param", bridgeCompany_Msg) 만약 다음 CompanyListPicker.SelectedItem = bridgeCompany_Msg 작동하지 않습니다

경우 끝.

도움을 주시면 감사하겠습니다.

감사합니다.

답변

1

는 잠시 후 내가 먼저 목록으로 컬렉션을 변환

답을 발견, 나는 할 수 있었다 :

CompanyListPicker.SelectedItem = Company_Msg

을하지만 좀 직면 다른 문제는 외부 키를 연결하는 데 사용됩니다.

그래서 더 많은 시험 후에 외래 키에 아무런 문제가 없으므로 컬렉션으로 돌아 가기로 결정했습니다.

이제는 페이지를로드하고 매개 변수로 지정된 항목을 선택 목록에서 선택하는 코드를 사용합니다.

가장 아름다운 코드는 아니지만 작동합니다.

아이디어는 컬렉션의 모든 항목을 구문 분석하는 것이고, 변수 (i)로 값에 액세스 할 수 있습니다. 값이 발견되면 (Trouve) 인덱스 번호를 유지하고 listPicker에 할당합니다. selectedIndex.

If NavigationContext.QueryString.TryGetValue("BridgeCompany_Param", bridgeCompany_Msg) Then 
Dim i, Trouve As Integer 
i = 0 
Trouve = 0 
While i < App.ViewModel.AllMyCompanies.Count 
If (App.ViewModel.AllMyCompanies.Item(i).Company = bridgeCompany_Msg) Then 
Trouve = i 
End If 
i = i + 1 
End While 
CompanyListPicker.SelectedIndex = Trouve 
End If 

잘하면 다른 내 도움말 사람, 즉 모두 너무 분명했다하지 않는 한이

를 ;-) 것을