2012-02-03 13 views
0

リストピッカーの値を私が欲しいものに設定するのに苦労しています。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

をその後私はいくつかに直面しましたこれは外部キーを関連付けるために使用されるため、他の問題があります。

私は外来キーに問題がなかったので、もう少し試してみると、私はコレクションに戻ることにしました。

次に、コードを使用してページを読み込み、パラメータとして指定された項目を選択リストで選択します。

最も美しいコードではないかもしれませんが、動作します。

考えられるのは、コレクション内のすべてのアイテムを解析することです。値が見つかると(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 

私の助けが他の誰かつまり、誰もが

を;-)のために、それはあまりにも明白でない限り