ググってもなかなか正解に辿りつけなかったのでメモ。
まず .ico ファイルをリソースに追加する
Resource フォルダ(なければ追加)にドラッグ・アンド・ドロップで追加します。
![CropperCapture[1].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F25145%2F00c704e1-a25c-8c69-e00d-e3843f0a7625.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=70e691b0d5f7fb5353741f9d87f46aaa)
XAML で設定する方法
MainWindow.xaml
<Window x:Class="DiffFileSaver.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
xmlns:l="http://schemas.livet-mvvm.net/2011/wpf"
xmlns:v="clr-namespace:DiffFileSaver.Views"
xmlns:vm="clr-namespace:DiffFileSaver.ViewModels"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
Title="DiffFileSaver"
Height="318.182"
Width="525"
Icon="/DiffFileSaver;component/Resources/unWatching.ico">
<!-- 省略 -->
</Window>
パスの書き方は、
/<プロジェクト名>;component<リソースファイルのパス>
です。
コード側から設定する方法
MainWindow.xaml.cs
this.Icon = BitmapFrame.Create(new Uri("pack://application:,,,/Resources/unWatching.ico", UriKind.RelativeOrAbsolute));
パスの書き方は XAML と異なり、
pack://application:,,,<リソースファイルのパス>
です。
こちらを用いれば動的に変更できます。
![CropperCapture[2].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F25145%2Fcc985e66-a301-2faf-3724-c80d048273cd.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d073f01f4cf210c4c2dbf7bb7ade9900)
![CropperCapture[4].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F25145%2F86b1c608-0e54-d2bc-fb83-f3cb1cf82220.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=60f986e221c8a2f8852130f3e319155d)