2012-02-28 11 views

答えて

1

右(または後の任意の時点)のような何かを(または親オブジェクト - たぶんページ)、選択したインデックスをリストの最初の項目に設定するだけです。

listbox.SelectedIndex = 0; 

選択したインデックスが変更されたときのハンドラがある場合は、最初にインデックスを設定するときには必ず無視してください。

0

は、なぜあなたはObservableCollection内に含まれるオブジェクトでIsSelectedという名前のプロパティを作成します

var listBoxItem = ItemContainerGenerator.ContainerFromItem(myList.First()); 
listBoxItem.Focus(); 

または

listBoxItem.IsSelected = true; 
+0

いつすればよいですか?すべてのデータがロードされていることを確認するために、特定のイベントを使用する必要がありますか? – Sergejs

+0

はい、あなたのデータが拘束され、ListBoxにいくつかの項目があることを確信しているときは、そうすることができます... otherway 'listBoxItem'はnullになります – GaaRa

1

ような何かをしようとはしません、ありがとうございました。これをTwoWayバインディングを介してListBoxItemIsSelectedプロパティにバインドします。

次に、ページのOnLoadedコールバック(またはどこでもListBoxにコレクションを結合している)で、リストボックスのためのDataContextを設定した後、この

foreach(var obj in myCollection) { 
    obj.IsSelected = false; 
} 
if(myCollection.Count > 0) { 
    myCollection[0].IsSelected = true; 
} 
// bind the collection to the listbox 
関連する問題