3
我正在嘗試使用WPF和MVVM模式構建應用程序。我的視圖是純粹通過數據綁定從ViewModel填充的。我希望有一箇中心位置來處理髮生在我的應用程序中的所有異常,以便我可以通知用戶並適當地記錄錯誤。處理WPF和MVVM的異常
我知道Dispatcher.UnhandledException,但是這不會做作爲數據綁定期間發生的異常記錄到輸出窗口的工作。因爲我的View是綁定到我的ViewModel的,所以整個應用程序幾乎都通過數據綁定來控制,所以我沒有辦法記錄我的錯誤。
有沒有辦法一般地處理在數據綁定期間引發的異常,而不必在我的所有ViewModel公共模塊上放置try塊?
示例View:
<Window x:Class="Test.TestView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestView" Height="600" Width="800"
WindowStartupLocation="CenterScreen">
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>
<StackPanel VerticalAlignment="Center">
<Label Visibility="{Binding DisplayLabel, Converter={StaticResource BooleanToVisibilityConverter}}">My Label</Label>
</StackPanel>
</Window>
視圖模型:
public class TestViewModel
{
public bool DisplayLabel
{
get { throw new NotImplementedException(); }
}
}
這是一個內部應用程序,所以我不想用疫情週報,因爲我已經看到了以前推薦。
請參閱此問題和答案:http://stackoverflow.com/questions/2171580/exceptions-are-swallowed-in-my-wpf-application-how-to-force-application-to-crash – 2010-02-28 21:41:45