Исключение при открытии формы с использованием WPF ShowDialog - PullRequest
4 голосов
/ 17 февраля 2011

У меня есть приложение WPF, при попытке открыть форму, используя ShowDialog(), я получаю это странное исключение ниже на одной машине.Любая идея, в чем может быть проблема?

Сообщение об исключении = Операция прервана (Исключение из HRESULT: 0x80004004 (E_ABORT)) Трассировка стека исключений =
в System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal (Int32 errorCode, IntPtr errorInfo) в System.Runtime.InteropServices.Marshal.ThrowExceptionForHR (Int32 errorCode, IntPtr errorInfo) в MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException (Int32.tr.FontCollection.FontWeight & weight, FontStretch & stretch) в System.Windows.Media.FontFamily.FindFirstFontFamilyAndFace (FontStyle & style, FontWeight & weight, FontStretch & stretch) в System.Windows.Media.Typeface.ConstructCachedTypeface () в System.Windows.Media.Typeface.get_CachedTypeface () в MS.Internal.TextFormatting.SimpleTextLine..ctor (параметры FormatSettings, Int32 cpFirst, run & Int32, Traist Int32, Array абзац-ширина, Ar32Int32 & trailingSpaceWidth)
в MS.Internal.TextFormatting.SimpleTextLine.Create (параметры FormatSettings, Int32 cpFirst, Int32 paraswidth) в MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal (текстовый исходный текст, толковый текстовый интерфейс, линейный текстовый интерфейсparaProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache) в MS.Internal.TextFormatting.TextFormatterImp.FormatLine (TextSource textSource, Int32 firstCharIndex, двойной абзацWidth, TextParagraphProperties ParaProperties, TextLineBreak предыдущая Line.TextBextCun.TunCun.CunRT., Двойной формат ширины, двойной абзац ширина, LineProperties lineProperties, TextRunCache (textRunCache, TextFormatter Formatter) в System.Windows.Controls.TextBoxView.FullMeasureTick (Двойное constraintWidth, LineProperties lineProperties) в System.Windows.Controls.TextBoxView.MeasureOverride (ограничение размера).availableSize) в System.Windows.UIElement.Measure (размер availableSize) в MS.Internal.Helper.MeasureElementWithSingleChild (элемент UIElement, ограничение размера) в System.Windows.Controls.ScrollContentPresenter.MeasureOverride (ограничение размера) в System.WindowsmentFrame.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Controls.Grid.MeasureCell (ячейка Int32, логический forceInfinityV) в System.Windows.Controls.Grid.MeasureCellsGroup (Int32 cellHead, размер referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) в System.Windows.Controls.Grid.MeasureOverride (ограничение размера) в System.Windows.FrameworkElement.MeasureCore(Size availableSize) в System.Windows.UIElement.Measure (Размер availableSize) в System.Windows.Controls.ScrollViewer.MeasureOverride (ограничение размера) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure(Size availableSize) в System.Windows.Controls.Border.MeasureOverride (Размер ограничения) в System.Windows.FrameworkElement.MeasureCore (Размер availableSize) в System.Windows.UIElement.Measure (Размер availableSize) в System.Windows.Controls.Control.MeasureOverride (ограничение размера) вSystem.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Controls.Grid.MeasureCell (Int32 ячейка, логическая силаInfinityV) в System.Windows.Controls.Grid.MeasureCellsGroup (Int32 cellHead, размер referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) в System.Windows.Controls.Grid.MeasureOverride (размер ограничение) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Controls.StackPanel.MeasureOverride (размер ограничение) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в MS.Internal.Helper.MeasureElementWithSingleChild (UIElement элемент, ограничение размера) в System.Windows.Controls.ContentPresenter.MeasureOverride (размер ограничение) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Documents.AdornerDecorator.MeasureOverride (размер ограничение) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Controls.Border.MeasureOverride (размер ограничение) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Window.MeasureOverrideHelper (размер ограничение) в System.Windows.Window.MeasureOverride (размер availableSize) в System.Windows.FrameworkElement.MeasureCore (размер availableSize) в System.Windows.UIElement.Measure (размер availableSize) в System.Windows.Interop.HwndSource.SetLayoutSize () в System.Windows.Interop.HwndSource.set_RootVisualInternal (Visual значение) в System.Windows.Interop.HwndSource.set_RootVisual (Visual значение) в System.Windows.Window.SetRootVisual () в System.Windows.Window.SetRootVisualAndUpdateSTC () в System.Windows.Window.SetupInitialState (Double requiredTop, Double requiredLeft, Двойная запрошенная ширина, двойная запрашиваемая высота) в System.Windows.Window.CreateSourceWindow (Boolean во время шоу) в System.Windows.Window.CreateSourceWindowDuringShow () в System.Windows.Window.SafeCreateWindowDuringShow () в System.Windows.Window.ShowHelper (Объект booleanBox) в System.Windows.Window.Show () в System.Windows.Window.ShowDialog ()
в Alberstein.UI.Views.MainView.menuWorkOnline_Click (Объект отправитель, RoutedEventArgs e) в Alberstein.UI.Views.MainView.checkSyncstatus () at Alberstein.UI.App.OnStartup (Объект отправитель, StartupEventArgs e) в System.Windows.Application.OnStartup (StartupEventArgs есть System.Windows.Application. <. Т е р> b__1 (Object не используется) в System.Windows.Threading.ExceptionWrapper.InternalRealCall (Делегат обратный вызов, объектные аргументы, Int32 (numArgs) в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (Объект источник, метод делегата, аргументы объекта, Int32 numArgs, делегат catchHandler)

1 Ответ

6 голосов
/ 29 ноября 2012

Я столкнулся с такой же ошибкой, и проблема связана со службой кэширования шрифтов Windows Presentation Foundation. Его кеш-файл как-то поврежден. Следуя инструкциям в этой статье MS KB, http://support.microsoft.com/kb/937135, Мне удалось устранить проблему.

Это относится к версиям кэша 3.0.0.0 и 4.0.0.0.

Прежде чем я нашел эту статью, я только что остановил и отключил службу, и мое приложение WPF запустилось. Я подозреваю, что его отключение приведет к замедлению отображения приложений WPF (что уже достаточно медленно), но после того, как несколько машин в полевых условиях имеют эту проблему, я отключил ее и с тех пор проблем не было.

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