当我试图将控件添加到我的UserControl列表时,它抛出“调用线程无法访问此对象,因为另一个线程拥有它。”异常。
panel_PanelHolder.Children.Clear();
panel_PanelHolder.Children.Add(usr_panel);
但是当我使用下面的代码时,
Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
panel_PanelHolder.Children.Clear();
panel_PanelHolder.Children.Add(usr_panel);
}));
它抛出“调用目标抛出了异常。”异常。
我需要清除控件,并向面板添加控件。我不确定如何尽快解决这个问题。我正在使用STA线程动态操作WPF窗口控件。有人可以帮我吗? THX ..
答案 0 :(得分:2)
我今天遇到了这个问题。使用调试器,您需要深入了解异常树。对于每个异常,可能存在内部异常。挖掘尽可能深。然后查看堆栈跟踪。在我的情况下,我有一个(自定义)用户控件,在构造期间,导致空引用异常。
你的情况可能不太明显。查看最深异常的堆栈跟踪,然后在该代码行设置断点。如果进一步调试没有发现问题,请尝试使用try..catch块包围有问题的代码行。然后你可以在本地更多地查看异常。