'StaticResource ve DynamicResource WPF arasındaki fark ne?
Fırçalar, şablonlar ve WPF stilleri gibi kaynakları kullanırken, ya da StaticResources olarak belirtilebilir
<Rectangle Fill="{StaticResource MyBrush}" />
ya da bir DynamicResource gibi
<ItemsControl ItemTemplate="{DynamicResource MyItemTemplate}" />
Çoğu zaman (her zaman?), sadece biri çalışıyor ve diğer çalışma zamanı sırasında özel durum oluşturur. Ama nedenini bilmek istiyorum:
- Temel fark nedir. Bellek veya performans etkileri gibi
- "Fırçalar her zaman statik" ve "şablonlar her zaman" vb.? dinamik gibi WPF kurallar vardır
BenvarsayalımStatik vs Dinamik arasında seçim göründüğü kadar keyfi değil... ama desen görmek için başarısız.
CEVAP
StaticResource giderilmiş ve uygulama aslında çalıştırmadan önce oluşan XAML yükleme sırasında özellik atanır. Sadece bir kez atanmış olacak ve kaynak Sözlük Herhangi bir değişiklik dikkate alınmaz.
DynamicResource yükleme sırasında mülkiyet İfade bir nesne atar ama aslında İfade nesne değeri sorulduğunda zamanı kadar kaynak arama değil. Bu çalışma zamanında gerekli kadar kaynak ararken erteledi. İyi bir örnek, bir kaynak daha sonra XAML içinde tanımlanan ileri bir referans olacaktır. Başka bir örnek, hatta çalışma zamanı kadar bulunmaz bir kaynaktır. Eğer kaynak kaynak sözlük değişirse hedef güncellenecektir.
Px, dp, arasındaki fark ve Android dip...
'dizi arasındaki fark ne ve dize?...
İÇ ve DIŞ birleşimler arasındaki fark...
Bir URI, URL ve URN arasındaki fark ne...
Aramak ve uygulamak arasındaki fark ne...