Am пытается прочитать значение флажка из BackgroundWorker в WPF:Чтение Флажок статуса из другого потока
Это не работает:
bool? isSleepChecked = checkBoxSleep.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate{ return checkBoxSleep.IsChecked;});
Невозможно преобразовать анонимный метод делегирования типа «System .Threading.ThreadStart ', потому что некоторые возвращаемые типы в блоке неявно не конвертируются в тип возврата делегата
EDIT - Ответ HB выражается с использованием делегата вместо лямбда, который я считаю немного более читаемым
bool? isSleepChecked = (bool?)checkBoxSleep.Dispatcher.Invoke(new Func<bool?>(delegate { return checkBoxSleep.IsChecked; }));
Спасибо HB (и Дуглас тоже). Очень похожие ответы. Кажется, я предпочитаю ответ Func .. и есть опечатка .. должна быть: new Func –
@DaveMateer: вот-вот исправит это :) –
Cheers - поставьте в делетете делегат выше. –