2012-02-03 39 views
0

我很努力地將List Picker中的Value設置爲我想要的值。如何突出顯示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 

希望我幫助別人,除非這是爲大家太明顯;-)

相關問題