2017-08-21 23 views
0

Windows 7とWindows 10、pcとタブレットで動作するwpfアプリケーションがあります。wpfアプリケーションはWindows 10で画像を読み込んでいません.Windows 7で動作しています

私たちはスプラッシュスクリーンとして使用するウィンドウを持っています。ウィンドウ7のアプリケーションで開いてみると画像が表示され、ウィンドウには空白のウィンドウが表示されます。

スタティックリソースとしてイメージをロードしようとしました。別のスレッドでスプラッシュ画面を開き、1MBの代わりに7KBのイメージを使用しましたが、まだ動作しません。

アプリケーションの開始時にスプラッシュを開こうとしましたが、機能します。

は、私たちは、1MBの画像を使用して新しいプロジェクトを開こうとした、それが動作しますので、私は窓10

スプラッシュ画面で画像をロードすることを防ぐ、そのアプリケーションの実行中にhappingだか分かりません.xamlコード:

<Window .... WindowState="Maximized" Topmost="True" WindowStyle="None" Height="1080" Width="1980"> 
    <Window.Resources> 
    <BitmapImage x:Key="LoadingDrill" UriSource="pack://application:,,,/Resources/Splash.png"/> 
    </Window.Resources> 
    <Grid x:Name="me"> 
    <Image Source="{StaticResource LoadingDrill}"/> 
    </Grid> 
</Window> 

は.csコード:

private static SplashViewer singleton; 

    public static void CloseSplash() 
    { 
     if (singleton != null) 
     { 
      singleton.Close(); 
      singleton = null; 
     } 
    } 

    public static void ShowSplash() 
    { 
     if (singleton == null) 
     { 
      singleton = new SplashViewer(); 
      singleton.Closed += Singleton_Closed; 
      singleton.Show(); 
     } 
    } 

    private static void Singleton_Closed(object sender, EventArgs e) 
    { 
     singleton = null; 
    } 

    public SplashViewer() 
    { 
     InitializeComponent(); 
     me.DataContext = this; 
    } 

は、スプラッシュ画面を開きます。

SplashViewer.ShowSplash(); 
/// 
///do something... 
/// 
SplashViewer.CloseSplash(); 

別の試み:それを行うにはどのようなアイデアとして

System.Windows.Application.Current.Dispatcher.Invoke((Action)(() => { SplashViewer.ShowSplash(); })); 

誰?

+0

がリソースに設定した画像ファイルのビルドアクション..ですそれは通常のウィンドウでは動作しませんなぜ私たちも知って喜んでいるよう? – Clemens

+0

はい。私たちはまたコンテンツとしてコピーしようとしました – StackOverflowUser

+0

私たちはそれを試してみました...ウィンドウ10でアプリケーションを実行している間、それはアプリケーションの起動時に動作しますが、アプリケーションを実行している間、画像を読み込みます。 – StackOverflowUser

答えて

0

最終的には、DevExpress DXSplashScreenを使用すると機能します。

誰かが知っていれば

関連する問題