Element Host 内で WPF アプリケーションをホストしており、アプリケーション内に WPF ユーザー コントロールがあります。WPF アプリケーション内のある時点で (Application
クラスが になることがわかってnull
いるので、次のようにインスタンス化します。
if (Application.Current == null)
{
// create the Application object
new Application();
// merge in your application resources
Application.Current.Resources.MergedDictionaries.Add(
Application.LoadComponent(
new Uri("edit;component/Styles/Styles.xaml",
UriKind.RelativeOrAbsolute)) as ResourceDictionary);
}
問題は、WPF アプリケーション内の内部ユーザー コントロールを閉じるたびに、何らかの理由でリソースにアクセスできなくなることです。アプリケーションの開始時にインスタンス化したため、Application
オブジェクトは均一であると言われています。fornull
をチェックしてからインスタンス化すると、現在の AppDomain にアクティブなアプリケーションがあると表示されます。Application
null