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