Как получить асинхронный доступ к управлению в WPF?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить асинхронный доступ к управлению в WPF?

Сообщение Anonymous »

Я использую сторонний элемент управления richtextbox, но меня не очень устраивает асинхронная загрузка файлов xaml, поэтому я попробовал это

Код: Выделить всё

async void LoadAsync(string str)
{
FileStream stream = File.OpenRead(str);
DocumentAdv? doc = await Task.Run(() => { return XamlReader.Load(stream) as DocumentAdv; });
RTB.Document.Dispatcher.Invoke(() =>
{
RTB.Document = doc;
});
}
Но я получил исключение — «Вызывающий поток не может получить доступ к этому объекту, поскольку им владеет другой поток».
Что я' Я пытаюсь сделать следующее: поскольку я не хочу вызывать его интерфейс, я хочу загрузить документ асинхронно, а затем назначить его моему элементу управления richtextbox.
Почему это происходит и как я это исправлю? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... sly-in-wpf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»