Как динамически изменить источник изображения из кода в WPF с изображением в Properties.Resources?

У меня есть приложение WPF, которое должно предоставить пользователю обратную связь о внутреннем состоянии. Дизайн должен иметь три изображения, называть их красным, желтым и зеленым. Одно из этих изображений будет отображаться одновременно в зависимости от состояния. Вот пункты:

Три изображения находятся в Properties.Resources в кодеТолько одно из изображений будет показано одновременно.Изменение состояния происходит от процесса в коде, а не от пользователя.Я хотел бы связать элемент управления изображением, чтобы я мог изменить изображение из кода.

Я предполагаю, что мне понадобится конвертер изображений, чтобы изменить изображение JPG на источник изображения, такой как:

[ValueConversion(typeof(System.Drawing.Bitmap), typeof(ImageSource))]
public class BitmapToImageSourceConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var bmp = value as System.Drawing.Bitmap;
        if (bmp == null)
            return null;
        return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                    bmp.GetHbitmap(),
                    IntPtr.Zero,
                    Int32Rect.Empty,
                    BitmapSizeOptions.FromEmptyOptions());
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}

Я бы предпочел конвертировать изображения один раз во время инициализации и сохранить список источников изображений. Я также предполагаю, что мне понадобится свойство зависимостей для привязки элемента управления, но я не уверен, как настроить это с помощью этого списка источников изображений:

    // Dependancy Property for the North Image
    public static readonly DependencyProperty NorthImagePathProperty
        = DependencyProperty.Register(
            "NorthImagePath",
            typeof(ImageSource),
            typeof(MainWindow),
            new PropertyMetadata("**Don't know what goes here!!!**"));

    // Property wrapper for the dependancy property
    public ImageSource NorthImagePath
    {
        get { return (ImageSource)GetValue(NorthImagePathProperty); }
        set { SetValue(NorthImagePathProperty, value); }
    }