У меня проблема в моем приложении WPF, в котором по существу есть 2 окна, окно входа в систему и окно панели мониторинга, и я получаю ненулевые ссылочные исключения с перерывами при загрузке этих окон. Типичное исключение выглядит следующим образом (dashbaord)nullreferenceexception при создании окна xaml
Application: BlitsMe.Agent.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
Stack:
at System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Insert(System.__Canon, System.__Canon, Boolean)
at MS.Internal.AppModel.ResourceContainer.GetResourceManagerWrapper(System.Uri, System.String ByRef, Boolean ByRef)
at MS.Internal.AppModel.ResourceContainer.GetPartCore(System.Uri)
at System.IO.Packaging.Package.GetPart(System.Uri)
at System.Windows.Application.LoadComponent(System.Object, System.Uri)
at BlitsMe.Agent.UI.WPF.Dashboard..ctor(BlitsMe.Agent.BlitsMeClientAppContext)
at BlitsMe.Agent.BlitsMeClientAppContext.RunDashboard()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
Какая непонятная ошибка. глубоко в классе loadcomponent.
Я начинаю свою панель с помощью 2 методов в моем основном контексте приложении класса следующего
internal void SetupAndRunDashboard()
{
if (DashboardUiThread == null)
{
DashboardUiThread = new Thread(RunDashboard) { Name = "dashboardUIThread" };
DashboardUiThread.SetApartmentState(ApartmentState.STA);
DashboardUiThread.Start();
}
}
private void RunDashboard()
{
UIDashBoard = new Dashboard(this);
Dispatcher.Run();
}
и моя панель конструктора выглядит следующим образом
public partial class Dashboard : Window
{
public Dashboard(BlitsMeClientAppContext appContext)
{
this.InitializeComponent();
......
}
}
Я очень ценю помощь в этом, как я хорошо и поистине тупит, поскольку в API окон очень глубже запущен нулевой рефлекс.
Как выглядит ваш App.xaml? Похоже, что это может быть попытка загрузить некоторые встроенные ресурсы. – rrhartjr
У меня нет App.xaml, если вы имеете в виду мою Dashboard.xaml его здесь [http://pastebin.ca/2423000] – rendezz
Вы установили свой DataContext? –