Резервное значение для DynamicResource

Мое приложение загружает все строки из словарей ресурсов, определенных в отдельных XAML файлы. Возможно, что DynamicResource ключ не будет существовать во время выполнения.

<CheckBox Content="{DynamicResource myKeyThatIsMissing}"/>

В обычной привязке есть значение Fallback, которое можно использовать так:

Text="{Binding StringToShow, FallbackValue=DefaultValue}

Возможно ли иметь значение по умолчанию для свойства, установленного с DynamicResource что используется, если ключ ресурса не существует?

1 ответ

Класс System.Windows.DynamicResourceExtension распечатан, так что, возможно, вы можете расширить его и добавить желаемую логику, переопределив ProvideValue метод.

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

Другие вопросы по тегам