Вероятно, вы использовали значения Static внутри ResourceDictionary для своего приложения Xamarin Forms, чтобы определить общий цвет, Sting, Double и т. д., и извлекли значения с помощью StaicResource. strong> или DynamicResource со статическим ключом значения. В этом блоге мы увидим, когда использовать StaticResource и когда использовать DynamicResource, чтобы понять разницу между ними.

Статический ресурс

Как следует из названия StaticResource, это значение ресурса, которое является статическим внутри области, в которой оно определено.

В приведенном выше фрагменте кода вы можете увидеть статическое значение PrimaryColor, используемое как для цвета фона рамки, так и для кнопки. Но что, если я хочу изменить цвет во время выполнения? Для этого мы можем использовать приведенный ниже фрагмент кода.

Но это не сработает, потому что мы использовали ключевое слово StaticResource для получения цвета. Чтобы увидеть это изменение значения ресурса для отражения в пользовательском интерфейсе. Мы должны использовать DynamicResource.

Динамический ресурс

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

Единственная разница между этим и предыдущим фрагментами кода заключается в ключевых словах StaticResource и DynamicResource. Что затем помогает нам увидеть измененное значение цвета в пользовательском интерфейсе во время выполнения.

Будет работать тот же код события нажатия кнопки, который мы использовали ранее для изменения значения ресурса.

Подписывайтесь на меня, чтобы узнать больше о базовых концепциях Xamarin Forms и дайте мне знать, какие темы нужно осветить в будущем.