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. Has something to do with the focus, but I do not know how to set focus programmatically.
<DataGrid ItemsSource="{Binding Tasks}"
AutoGenerateColumns="False"
SelectedItem="{Binding SelectedTask, Mode=TwoWay}"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn Header="Title"
Binding="{Binding Title}" />
</DataGrid.Columns>
</DataGrid>
class MainViewModel : ModelBase
{
private readonly ObservableCollection<TaskModel> tasks = new ObservableCollection<TaskModel>();
public MainViewModel()
: base()
{
this.Tasks.Add(new TaskModel("task0"));
this.Tasks.Add(new TaskModel("task1"));
this.Tasks.Add(new TaskModel("task2"));
this.SelectedTask = this.Tasks[0];
}<br>
public TaskModel SelectedTask { get; set; }
public ObservableCollection<TaskModel> Tasks
{
get { return this.tasks; }
}
}