WPF: Добавить накладывающийся значок на иконку приложения в панели задач

При выборе события из Журнала событий я решил добавлять на иконку приложения в панели задач дополнительный значок с иконкой уровня выбранного события. Таким образом, при выборе события уровня Error, на иконку приложения добавлялось изображение: WPF: Добавить накладывающийся значок на иконку приложения в панели задач, свои значки были и для остальных событий Information, Warning и Critical.

Изображение выбиралось динамически при вызове конструктора окна:

if(String.Compare (er.LevelDisplayName, "Information", true) == 0)
{resou
    taskBarItemInfoOverlay.Overlay = ConvertToImageSource(SystemIcons.Information);
}
else if (String.Compare(er.LevelDisplayName, "Warning", true) == 0)
{
    taskBarItemInfoOverlay.Overlay = ConvertToImageSource(SystemIcons.Warning);
}
else if (String.Compare(er.LevelDisplayName, "Critical", true) == 0)
{
    taskBarItemInfoOverlay.Overlay = ConvertToImageSource(SystemIcons.Error);
}

Из кода видно, что в качестве значков я использовал стандартные системные значки, однако в журнале событий для индикации события уровня Error используется другой значок. Его я не смог найти в классе SystemIcons, там иконка Error была такая же, как в Журнале системы иконка события уровня Critical!
Поэтому пришлось добавлять свою иконку.

1. Иконка должна была быть изображением в формате PNG, с размерами 16х16.
2. Добавляем это изображение в качестве ресурса для нашего проекта, для этого открываем свойства проекта: Menu -> Project -> Properties… -> Resources -> Add Resource -> Add Existing File…
WPF: Добавить накладывающийся значок на иконку приложения в панели задач
3. Переходим в дерево проекта, в пункте Resources выбираем это изображение, на нем нажимаем правую кнопку мыши и выбираем Properties
4. В Свойствах выбираем Build action и меняем его на Resource.
WPF: Добавить накладывающийся значок на иконку приложения в панели задач
5. Теперь этот ресурс нужно объявить в XAML-коде:

<Window.Resources>
    <!-- Каждое изображение должно быть объявлено в ресурсе
         DrawingImage, которое активируется с помощью идентификатора x:Key-->
    <DrawingImage x:Key="ExclamationImage">
        <!-- Изображение объявляется внутри  
             свойства DrawingImage.Drawing -->
        <DrawingImage.Drawing>
            <!-- Изображение задается с помощью элемента
                 ImageDrawing. Свойство ImageSource 
                 указывает на путь к ресурсу с изображениесм
                 Rect указывает на размеры изображения-->
            <ImageDrawing Rect="0,0,16,16" ImageSource="Resources/exclamation_red.png"  />
        </DrawingImage.Drawing>
    </DrawingImage>
</Window.Resources>
<!-- Получаем ссылку на Панель задач -->
<Window.TaskbarItemInfo>
    <TaskbarItemInfo x:Name="taskBarItemInfoOverlay" />
</Window.TaskbarItemInfo>

Теперь в коде можно добавить это изображение на значок в Панели задач:

else if (String.Compare(er.LevelDisplayName, "Error", true) == 0)
{
    taskBarItemInfoOverlay.Overlay = (DrawingImage)this.FindResource("ExclamationImage");
}

Результат:
WPF: Добавить накладывающийся значок на иконку приложения в панели задач