web-dev-qa-db-ja.com

すべてのアプリウィンドウのWPFアイコン

現在のアプリのすべてのウィンドウで使用されるように、1つのアイコンを設定することができます。だから私は一度設定します(手ですべてのウィンドウではありません)..?

53
vts123

この件に関する参考資料はこちら [〜#〜] msdn [〜#〜] です。アプリケーション用のアイコン(デスクトップアイコン)と各ウィンドウ用のアイコンがあることを示します。

WPFウィンドウには常にアイコンが表示されます。 Iconを設定して提供されない場合、WPFは次のルールに基づいて表示するアイコンを選択します。

  1. 指定されている場合は、アセンブリアイコンを使用します。

  2. アセンブリアイコンが指定されていない場合は、デフォルトのMicrosoft Windowsアイコンを使用します。

コミュニティコンテンツリファレンス:

「ちょっとしたヒント:アプリケーションアイコンを設定してウィンドウに表示する場合-VSからデバッグで実行している場合は表示されません。外部で実行するか、アタッチせずに(ctrl + f5)アイコンが表示されます。」

94
jsmith

[リソース]セクションの[アプリケーション]タブのプロジェクトプロパティでアイコンを設定します。このアイコンは、アプリケーションのすべてのウィンドウのデフォルトアイコンになります。

17
John Myczek

VS2010で、メインアプリケーションの実行可能ファイルのプロパティを開き、[アプリケーション]タブを開きます。 「リソース」セクションの「アイコンとマニフェスト」の下にアイコンを設定します。

VS2010でデバッグ中にアイコンを表示するには、[デバッグ]タブを開き、[Visual Studioホスティングプロセスを有効にする]オプションをオフにする必要があります。そうしないと、ほとんどのウィンドウでデフォルトアイコンのみが表示されます。

アイコンの読み込みコードがホストプロセスによって混乱し、アイコンの「someapplication.exe」ではなく「someapplication.vshost.exe」を検索していると思われます。

これは、VS2013で修正されたようです。

1
DaveCleland

「Visual Studioホスティングプロセスを有効にする」アイコンが機能しなくなるのは、vshost.exeを使用して起動されるため、マニフェストが正しく読み込まれないためです。マニフェストを読み込む必要があるregfree ocxコントロールなど、マニフェストに他のものがある場合も同じです。

1
Frosty

これを試して独自のアイコンを設定することもできます。

private void Page_Loaded_1(object sender, RoutedEventArgs e)
        {
            Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute);
            (this.Parent as Window).Icon = BitmapFrame.Create(iconUri);
        }
1
Nadeem Shaikh