2012-04-13 41 views
6

我正在開發Windows 8 WinRT框架。下面的示例代碼拋出一個異常:設置項派生ListBox的源拋出「災難性故障」

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

這是一個在目前的WinRT框架(我使用VS11和消費者預覽版)更多的錯誤?有人有一個想法如何解決這個問題?

順便說一句:我已經測試相同的代碼隨着Windows Phone 7.5的Silverlight和它的作品沒有任何問題......

感謝您的幫助。

public class MyListBox : ListBox 
{ 

} 

public sealed partial class BlankPage : Page 
{ 
    public BlankPage() 
    { 
     this.InitializeComponent(); 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     var box1 = new ListBox(); 
     box1.ItemsSource = new List<Object> { new Object() }; // works without problems 
     Content = box1; 

     var box2 = new MyListBox(); 
     box2.ItemsSource = new List<Object> { new Object() }; // throws exception 
     Content = box2; 
    } 
} 
+2

我相當確定這是[Windows 8 Consumer Preview中的一個已知錯誤](http://social.msdn .microsoft.com /論壇/ EN-US/winappswithcsharp /線程/ 295d7ee6-8bc4-4326-9ea7-b68ee4c98a7a)。 – 2012-04-13 23:22:09

+0

啊,COM錯誤報告又回來了! – 2012-04-13 23:25:26

+0

你有沒有發現任何解決方法? – notacat 2012-05-05 16:43:20

回答

2

當子類化ListView時,我遇到了類似的問題。在我的情況下,下面的方法部分幫助: 我不再試圖直接在代碼中設置我的ListView的ItemsSource落後,而是我創造CollectionViewSource在XAML像:

<UserControl.Resources> 
    <CollectionViewSource x:Name="myCollectionViewSource"/> 
</UserControl.Resources> 
... 
... 
<ListView 
    ... 
    ItemsSource="{Binding Source={StaticResource myCollectionViewSource}}" /> 

而且在後面的代碼我設置

this.myCollectionViewSource.Source = new List<Object> { new Object() }; // The real data source respectively 

但是,這似乎只是推遲了這個問題。至少在我的情況下。在我的真實例子中,我使用ObservableVector作爲數據源。只要ObservableVector集合發生任何更改(例如Clear),我也會遇到災難性故障(0x8000FFFF)。只要我使用原始的ListView(不是我的子類版本),所有的工作都很好 - 就像你的情況一樣。所以我的回答不能被理解爲問題的解決方案,但也許這是一個值得嘗試的暗示。在我的情況下,原始分配工作正常,在可觀察集合嘗試更新後問題首先出現。我嘗試了ObservableCollection(應該在CP中工作,它不在DP中),但是在那裏我遇到了其他問題。聽聽你是否能夠在這條路上取得任何進展會很有趣......

+0

是的,當調用'PropertyChanged'或'CollectionChanged'事件時,我也遇到了問題......在我停止工作在我的項目(或這個特定問題)上時,我是等待6月應該提供的RC。我也有很多其他問題(DateTime /結構類型依賴項屬性不工作,應用程序只能在模擬器中工作 - 否則會話崩潰,vs打開xaml文件時崩潰,彈出類殺死包含控件中的綁定,...)我不'沒有時間爲所有這些構建解決方法... :)無論如何,謝謝你的回答。也許我會給它一個 – 2012-05-06 21:24:22

+0

我明白。這很令人沮喪。我在猶豫自己。但是,上次我把希望寄託在DP-> CP開關上,並沒有神奇地解決最棘手的問題 - 我仍然必須建立解決方法 - 只有不同的解決方案;)希望RC的經驗真的會更平滑。 – 2012-05-06 21:36:09

+0

事實上DP-> CP解決了很多問題(多個NotifyPropertyChanged/ObservableCollection/Vector混亂)... – 2012-05-06 22:10:30

相關問題