私は、ちょっとしたツールでもアイコンを指定するようにしています。
大袈裟ですが、アイコンを設定することはアプリケーションに命を吹き込むようなことだと考えています。
WPFではよく失敗するので、メモです。
アプリケーションのアイコンを設定する
こちらについては問題ないと思います。WinFormsと同じようにプロジェクトファイルに設定します。
アイコンを設定すれば、自動的に指定したアイコンがプロジェクトフォルダ直下にコピーされます。
あとはビルドすればOKです。
Xamlでウインドウに指定する場合
アプリケーション自体のアイコンとWindowのアイコンは別々で管理しているので、ウインドウにはウインドウで指定することが必要です。
そうしないと、デフォルトのアイコンになってしまいます。
私がよくやるのはリソースファイルにアイコンを追加し、
Xamlで
<Window
Icon="Resources/notebook.ico"
/>
と指定する方法ですが、これでは「System.Windows.Markup.XamlParseException」となってしまいます。
インテリセンスも効いて、なぜだと思うのですが、パス形式の指定です。
プロジェクトファイルから見えていても、exeファイルは別のフォルダに生成されるので、指定したアイコンファイルは見えなくなっているからです。
ただリソースに追加しただけでは、アイコンファイル自体のビルドアクションが「なし」になっています。これを「Resource」に変更します。
すると、いけます。