ListBoxでデータを読み込んだ後にすぐアイテムを選択する方法

WPFでListBoxにデータを読み込ませた後にすぐアイテムを選択しようと思ったのだが、
今までの考え方からすると、ListBox.Items.Countが1以上でない場合にSelectedIndexを設定すると例外が発生してしまうと思っていた。
なので、以下のようなコードを書いていた。

var q = from .....
        select ...;

listBox.DataContext = q;

// 一番上を選択状態にする
if (listBox.Items.Count > 0)
{
    listBox.SelectedIndex = 0;
}

これだと場合によってはItems.Countが入っていないことがあって(特に画面ロード時)、アイテムが選択されないことがあった。

そこで、データの方が1件以上入っていればとりあえず、SelectedIndexを変えてみるようにした。

var q = from .....
        select ...;

listBox.DataContext = q;

// 一番上を選択状態にする
if (q.Count() > 0)
{
    listBox.SelectedIndex = 0;
}

こうすると、リストのアイテムが選択されるようになったのでとりあえず、この方法で開発を進める。