keys do not work with bound SelectedItem on DataGrid
I am having problem with DataGrid navigation using arrow keys when my DataGrid is displayed initially. Up/down keys do not change the current row. Only after I click on a row do the keys start working. What am I doing wrong?

<code><pre>
    &lt;DataGrid ItemsSource="{Binding Tasks}"
              AutoGenerateColumns="False"
              SelectedItem="{Binding SelectedTask, Mode=TwoWay}"
              SelectionMode="Single">
      &lt;DataGrid.Columns>
        &lt;DataGridTextColumn Header="Title"
                            Binding="{Binding Title}" />
      &lt;/DataGrid.Columns>
    &lt;/DataGrid>
</pre></code>
<code><pre>
    class MainViewModel : ModelBase
    {
        private readonly ObservableCollection<TaskModel> tasks = new ObservableCollection<TaskModel>();<br>
        public MainViewModel()
            : base()
        {
            this.Tasks.Add(new TaskModel("task0"));
            this.Tasks.Add(new TaskModel("task1"));
            this.Tasks.Add(new TaskModel("task2"));<br>
            this.SelectedTask = this.Tasks[0];
        }<br>
        public TaskModel SelectedTask { get; set; }<br>
        public ObservableCollection<TaskModel> Tasks
        {
            get { return this.tasks; }
        }
    }
</pre></code>

keys do not work with bound SelectedItem on DataGrid
===

I am having problem with DataGrid navigation using arrow keys when my DataGrid is displayed initially. Up/down keys do not change the current row. Only after I click on a row do the keys start working. What am I doing wrong?

<code><pre>
    &lt;DataGrid ItemsSource="{Binding Tasks}"
              AutoGenerateColumns="False"
              SelectedItem="{Binding SelectedTask, Mode=TwoWay}"
              SelectionMode="Single">
      &lt;DataGrid.Columns>
        &lt;DataGridTextColumn Header="Title"
                            Binding="{Binding Title}" />
      &lt;/DataGrid.Columns>
    &lt;/DataGrid>
</pre></code>
<code><pre>
    class MainViewModel : ModelBase
    {
        private readonly ObservableCollection<TaskModel> tasks = new ObservableCollection<TaskModel>();<br>
        public MainViewModel()
            : base()
        {
            this.Tasks.Add(new TaskModel("task0"));
            this.Tasks.Add(new TaskModel("task1"));
            this.Tasks.Add(new TaskModel("task2"));<br>
            this.SelectedTask = this.Tasks[0];
        }<br>
        public TaskModel SelectedTask { get; set; }<br>
        public ObservableCollection<TaskModel> Tasks
        {
            get { return this.tasks; }
        }
    }
</pre></code>
