SORU
14 EKİM 2008, Salı


'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
14 EKİM 2008, Salı


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • echifitness

    echifitness

    9 Kasım 2008
  • FRED

    FRED

    1 EKİM 2005
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008