wp7 странное исключение UnhandledException при привязке данных 0x8000ffff - PullRequest
6 голосов
/ 17 февраля 2011

Я получаю странное необработанное исключение при привязке данных.Я связываю данные ListBox с IList.После заполнения списка объектами, я установил DataContext ListBox для моего объекта:

IList<Users> users = new List<Users>;
foreach(JToken jresult in Users)
{
User juser = JsonConvert.DeserializeObject<User>(jresult.ToString());
users.Add(juser);

this.DataContext = myObject;

Мой объект имеет только два поля, имя и адрес электронной почты:

public class User
{
    public string name { get; set; }
    public string email { get; set; }    }

НаСторона XAML, я связываю ListItem и текстовые блоки в ItemTemplate следующим образом:

<ListBox Name="Users" ItemsSource="{Binding}">
<TextBlock Text="{Binding Name}" Name="name" />
<TextBlock Text="{Binding Email}" Name="email" />

Во время отладки я вижу, что список пользователей заполняется правильными элементами, однако после выхода из метода,приложение вылетает, и меня перенаправляют прямо в метод App.xaml.cs Application_UnhandledException.Подробная информация об ошибке:

e.ExceptionObject.InnerException
{"0x8000ffff"}
    _data: null
    _HResult: -2146233088
    _innerException: null
    _message: "0x8000ffff"
    _methodDescs: {System.IntPtr[14]}
    _optionalData: null
    Data: {System.Collections.ListDictionaryInternal}
    HResult: -2146233088
    InnerException: Could not evaluate expression
    Message: "0x8000ffff"
    StackTrace: "   at MS.Internal.XcpImports.CheckHResult(UInt32 hr)\r\n   at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize)\r\n   at System.Windows.FrameworkElement.MeasureOverride(Size availableSize)\r\n   at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)\r\n   at MS.Internal.XcpImports.MeasureNative(IntPtr element, Single inWidth, Single inHeight)\r\n   at MS.Internal.XcpImports.UIElement_Measure(UIElement element, Size availableSize)\r\n   at System.Windows.UIElement.Measure(Size availableSize)\r\n   at System.Windows.Controls.VirtualizingStackPanel.MeasureChild(UIElement child, Size layoutSlotSize)\r\n   at System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(Size constraint)\r\n   at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)\r\n   at MS.Internal.XcpImpor
ts.MeasureOverrideNative(IntPtr element, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)\r\n   at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize)\r\n   at System.Windows.FrameworkElement.MeasureOverride(Size availableSize)\r\n   at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)\r\n"

Мне не удалось это выяснить, и я был бы очень признателен за любые рекомендации или, возможно, лучший подход к решению этой проблемы.В одной статье упоминалось, что ListDictionaryInternal больше не поддерживается в SilverLight, поэтому я не уверен, что это может быть проблемой, так как подробности ошибки указывают на ListDictionaryInternal.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Хочется услышать что-то странное.У меня была эта проблема, и я удалил style = "{StaticResource ....} в XAML, и он исправил ее. Может кто-нибудь объяснить, почему? Я добавил локальный StaticResource сразу после этого, и он тоже работал.Если в вашем элементе ListBox не установлены стили, это решение не поможет.

0 голосов
/ 04 апреля 2013

это не связано с привязкой данных. Я думаю, что это общая ошибка. Когда я работал над моим Проектом, мой компьютер выдает мне синий экран, и когда я снова запускаю свой компьютер, я хочу запустить свой Проект, и я вижу ошибку 0x8000FFFF.сеть, но я попытался УДАЛИТЬ файл licenses.licx из Visual Studio, я решил проблему:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...