3
我正在为可以做增强现实图像处理的Windows Phone 7+构建自定义控件。这个控件在实际中运行的很好(当我运行应用程序时),但是因为我的图像处理运行在一个单独的线程上,所以当我尝试在Blend或Visual Studio设计器中打开页面时,它会中断。如何将背景线程添加到Silverlight自定义控件?
这里的线程我试图运行(基本上是从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();
}
}
这打破了以往的爱好赫克混合的。想知道为什么。
谢谢!那是我的问题。如果我可以问一个后续......应用程序运行时调用哪些方法/事件处理程序? – MatthiasS
@MatthiasS - 有一个“Loaded”事件。检查[本页](http://msdn.microsoft.com/en-us/library/cc189018(v = vs.95).aspx)以获取有关Silverlight事件的更多信息。 – ChrisF