0

我尝试在 LinaPad 上打开一个包含我的 WPF 用户控件的 WPF 窗口。

var w = new System.Windows.Window() { Content = myControl };
w.ShowDialog();

此代码仅适用于打开查询选项卡后的第一次执行。如果我再次执行代码,那么它会抛出 InvalidOperationException 说

Cannot use a DependencyObject that belongs to a different thread than its parent Freezable

LinqPad中第一次执行环境和后期执行环境有什么区别吗?

4

1 回答 1

0

我猜你已经myControl在另一个线程上创建了。

以下对我来说没有错误:

var w = new System.Windows.Window() { Content = "foo" };
w.ShowDialog();

另一种解决方案是简单地转储 myControl:

myControl.Dump();

然后 LINQPad 将在其输出窗口中呈现它。

于 2013-09-15T04:07:23.807 回答