Есть 2 программы. Одна WinPhone приложение, другая WPF. В обоих используется Dispatcher для доступа к элементам UI из потока. Вот код из WinPhone
Dispatcher.BeginInvoke(() => RateTextBox.Text = rate)
Здесь все работает. Dispatcher идет как объект, есть метод BeginInvoke.
Вот код WPF
Dispatcher.CurrentDispatcher.BeginInvoke(() => textBox1.Text = content)
Здесь Dispatcher идет как класс, а не объект. Я не могу понять почему. Пытался испробовать разные конструкции, но в итоге идет ошибка
Ошибка 2 Невозможно преобразовать "лямбда-выражение" к типу "System.Delegate", поскольку он не является делегатом
Не могу понять почему ошибка и почему в двух проектах "разные" Dispatcher'ы, В WinPhone приложении подрублены свои мобильные библиотеки с коробки, ничего не добавлял от себя.
В WPF Добавил WindowsBase.dll откуда взял ссылку на System.Windows.Threading где и лежит Dispatcher.
Кто может разъяснить ситуацию? А то я уже больше недели бьюсь над этими вопросами. Почему на WinPhone все прекрасно работает как надо, а на WPF нет.
Добавлено после:
Теперь все компилица, но не выводит результат запроса. Я испробовал код на консольном приложении, где не требуется Dispatcher. Такой код
(content => Console.WriteLine(content))
Здесь все работает. Но я добавил Dispatcher.
(content => Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() => Console.WriteLine(content))))
И консоль пуста.