2012-10-31 21 views
0

時,我有簡單的窗口在WPF應用程序WPF System.ExecutionEngineException加入PageFunction.Return處理

<Window ... > 
    <Frame Name="contentFrame" Margin="0 60 0 0" Source="ContentPage.xaml" NavigationUIVisibility="Hidden"/> 
</Window> 

,並命名爲SettingsPage簡單的網頁功能(公共部分類SettingsPage:在的PageFunction代碼隱藏)。在某些時候我在窗口代碼隱藏

​​

其中

public void settingsPage_Return(object sender, ReturnEventArgs<bool> e) 
    { 
     String test="test"; 
    } 

在頁面的功能執行代碼我執行代碼

OnReturn(false); 

並獲得System.ExecutionEngineException。 我需要捕捉SettingsPage關閉事件,我在創建Delegate時創建委託並手動提出它, ,但我不明白爲什麼標準WPF功能不工作。 任何人都知道爲什麼WPF在這種情況下引發錯誤?

+0

您在設置Margin on Frame時出現錯字。應該是'保證金=「0,60,0,0」'。不知道這只是你的問題或代碼中的錯誤 – Jehof

+0

這是.NET程序崩潰的最可能的方式。嘗試另一臺機器。 –

回答

0

這可能是因爲您的頁面被垃圾收集。 System.ExecutionEngineException的原因通常是這樣。 Related MSDN definition說:

在某些情況下,針對.NET框架的垃圾收集 期間可能 拋出一個異常ExecutionEngineException當一個應用程序或在其上運行的系統是一個 重負載下的應用程序。作爲一種解決方法,您可以通過修改應用程序的配置文件來禁用併發垃圾回收 。有關更多 信息,請參閱如何:禁用併發垃圾收集。

Disabling concurrent garbage collection可能是一種方法來查明它是否真的如此。

+0

OnReturn(false);在頁面fucntion代碼隱藏執行沒有錯誤。 – Frank59

+0

不明白爲什麼PageFunction.Return事件不會升高。 – Frank59