我正在为 Windows Phone 7+ 构建一个可以进行增强现实图像处理的自定义控件。该控件在实践中运行良好(当我运行应用程序时),但是因为我在单独的线程上运行图像处理,所以当我尝试在 Blend 或 Visual Studio 设计器中打开页面时它会中断。
这是我尝试运行的线程示例(基本上取自http://msdn.microsoft.com/en-us/library/hh202982(v=vs.92).aspx):
public override void OnApplyTemplate()
{
// assigning template stuff, initializing my camera
_myManualResetEvent = new ManualResetEvent(true);
_myCameraProcessingThread = new System.Threading.Thread(ProcessingMethod);
_myCameraProcessingThread.Start();
}
void ProcessingMethod()
{
int[] myBuffer = new int[640 * 480];
while(_someCondition)
{
_myManualResetEvent.WaitOne();
_myCamera.GetPreviewBufferArgb32(myBuffer);
// do my processing stuff
_myManualResetEvent.Set();
}
}
这打破了 Blend 一直以来的爱。很想知道为什么。