0

リストピッカーの値を希望の値に設定するのに苦労しています。

私は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>"

リストピッカーは適切に設定されていますが、問題はありません。

ページに移動するときの私の問題は、リストピッカーにナビゲーションによって渡された値を強調表示させたいことです。

If NavigationContext.QueryString.TryGetValue( "BridgeCompany_Param"、bridgeCompany_Msg)Then CompanyListPicker.SelectedItem = bridgeCompany_Msg End If

それはうまくいきません。

どんな助けでもいただければ幸いです。

ありがとうございました。

4

1 に答える 1

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

うまくいけば、それが誰にとっても明白でない限り、私が他の誰かを助けることを願っています;-)

于 2012-02-10T08:37:58.230 に答える