Windows 背景线程中的UWP度量UI元素

Windows 背景线程中的UWP度量UI元素,windows,xaml,uwp,Windows,Xaml,Uwp,我试图测量UI元素,但不想将它们添加到可视化树中。有没有任何方法可以在不发送到UI线程的情况下执行此操作 例如,我有一些代码需要知道一个按钮有多大,里面有文本“Foo button”,有一定的字体大小、填充等等。关键是,一旦我知道了按钮的理论大小,我就不再需要它了 每当我尝试创建一个按钮实例(或任何UIElement)时,我都会得到一个线程访问异常 我想这是没有办法的,但我真的希望我错了 我不知道这可能不是一个好消息。为什么您的代码需要知道这样的事情?没有人认为这是XY问题。没错,有时候确实不是

我试图测量UI元素,但不想将它们添加到可视化树中。有没有任何方法可以在不发送到UI线程的情况下执行此操作

例如,我有一些代码需要知道一个按钮有多大,里面有文本“Foo button”,有一定的字体大小、填充等等。关键是,一旦我知道了按钮的理论大小,我就不再需要它了

每当我尝试创建一个按钮实例(或任何UIElement)时,我都会得到一个线程访问异常


我想这是没有办法的,但我真的希望我错了

我不知道这可能不是一个好消息。为什么您的代码需要知道这样的事情?没有人认为这是XY问题。没错,有时候确实不是。你能解释一下为什么这是唯一可能的解决方案吗?好吧,不管怎样,如果你在非UI线程中创建UI元素时遇到困难,并且你不愿意考虑任何其他解决方案,或者告诉任何人他们甚至可以猜出其他解决基本问题的方法,我会分享足够的代码,让人们知道如何停止获取您正在获取的异常。那东西没什么神秘的。你甚至都没读我的评论。祝你好运。你可以在单独的线程中创建项目,但不能将它们添加到现有的UI线程中,但如果你(例如)从与UI元素相同的线程创建新的UI窗口,你将能够将项目添加到其中