-1

我尝试在后面的代码中为Table设置Margin但不能,只是有异常:“调用线程无法访问此对象,因为不同的线程拥有它。” 我的代码:

Table table = new Table();
Image picture = GetPicture(pictureName);
double leftMargin = (MAX_PICTURE_WIDTH - picture.Width) <= 0 ? 0 : (MAX_PICTURE_WIDTH - picture.Width);
table.Margin = new Thickness(leftMargin, 0, 0, 0);

在最后一行设置边距时我有例外。所以为什么?如何解决这个问题?

4

1 回答 1

1

尝试这个:

    Dispatcher.BeginInvoke(() =>
    {
        Table table = new Table();
        table.Margin = new Thickness(leftMargin, 0, 0, 0);
    });

或者

     Dispatcher.BeginInvoke(delegate() 
     { 
           Table table = new Table();
           table.Margin = new Thickness(leftMargin, 0, 0, 0); 
     });

也许尝试在 UI 线程上创建表。

于 2013-08-12T14:53:35.330 回答