Как получить асинхронный доступ к управлению в 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

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