Не могу использовать форматирование в комментариях, поэтому вот мой ответ.
Таймер действительно работает, если я напишу:
[<STAThread>]
do
let app = new Application()
let timer = new DispatcherTimer()
timer.Interval <- TimeSpan.FromSeconds(2.)
timer.Tick.Add (fun _ -> grid.Items.Refresh())
timer.Start()
app.Run() |> ignore
Однако теперь проблема почти полностью устранена, она автоматически обновляет до . Я нажимаю на любой из заголовков столбцов для сортировки. После этого больше нет обновлений.
Однако, если я выполню этот трюк:
timer.Tick.Add (fun _ ->
grid.ItemsSource <- null
grid.ItemsSource <- myArray
grid.Items.Refresh())
прекрасно обновляется, но теряет порядок сортировки.
Как сохранить порядок сортировки? Я легко могу отсортировать массив, но мне нравится, что пользователь сортирует и сам.