尝试将控件添加到UserControl时出现异常

时间:2011-10-12 09:14:56

标签: wpf exception user-controls wpf-controls

当我试图将控件添加到我的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 ..

1 个答案:

答案 0 :(得分:2)

我今天遇到了这个问题。使用调试器,您需要深入了解异常树。对于每个异常,可能存在内部异常。挖掘尽可能深。然后查看堆栈跟踪。在我的情况下,我有一个(自定义)用户控件,在构造期间,导致空引用异常。

你的情况可能不太明显。查看最深异常的堆栈跟踪,然后在该代码行设置断点。如果进一步调试没有发现问题,请尝试使用try..catch块包围有问题的代码行。然后你可以在本地更多地查看异常。