繁体   English   中英

STA线程-异常

[英]STA-Thread - Exception

我有一个具有打印作业的线程,该线程创建一个View,它是ViewModel并将其初始化。

没有线程:

ViewModel具有一些绑定,并在将其提供给View后正确初始化。

//MyView : UserControl
//Constructor
DataContext = vm;
InitializeComponent();

用线程:

InitializeComponent()期间引发异常。

我已经在这里检查了答案,并在Google上找到了答案,只发现了“通常”错误-未在STA中运行线程。 这似乎不适用于我的代码。

//Join thread if valid
//set to null
PrintThread = new Thread(new ParameterizedThreadStart(ExecutePrintJob));
PrintThread.SetApartmentState(ApartmentState.STA);
PrintThread.Start(); //Takes parameter but unused at the moment


//Translated it
Exception thrown: 'System.Windows.Markup.XamlParseException' in PresentationFramework.dll
Additional information: Line number "25" und Line position "43" from "An exception occured during the initialization of "System.Windows.Controls.Label.".


<Label  Content="TextBox --->"
        Grid.Column="0" Grid.Row="0"
        VerticalAlignment="Center" HorizontalAlignment="Center" />

在另一个线程(而非任务)中使用此方法时,有什么可能引发System.Windows.Markup.XamlParseException 我不确定如何解决这个问题,已经问了几个人。

很好地了解用于打印的组件将使用UI组件“ System.Windows.Controls.Label”,因此应在主UI线程上实例化该组件。 我会尝试整理该线程上的调用。 我遇到了类似的问题(即使在不同的情况下),我在这里发布了解决方案,希望对您有所帮助:

为什么即使我调用CommandManager.InvalidateRequerySuggested(),也不会调用WPF按钮命令的CanExecute方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM