WPF - Sprawdzanie czy kod wykonywany jest w trybie Design (Design-mode)
Notatka ta dotyczyć będzie technologii Windows Presentation Foundation, a dokładniej sposobu na sprawdzenie w kodzie, czy jest on wykonywany w trybie Design, czy podczas regularnej pracy aplikacji.
Jak sprawdzić, czy aplikacja pracuje w trybie Design?
Bardzo często gdy pracujemy nad graficznym interfejsem aplikacji, możemy spotkać się z wyjątkami rzucanymi przez designery, gdy te np. nie mają dostępu do pewnych zasobów, tak jak gdyby to miało miejsce w czasie normalnej pracy programu. W pierwszej kolejności należy oczywiście sprawdzić, czy nie da się tego uniknąć stosując lepszą strukturę programu, która w efekcie może spowodować że problematyczne partie kodu znikną z konstruktora klasy, wykonywanego przez designer. Gdy jednak nie możemy tego uniknąć, można zastosować instrukcję warunkową, w której upewnimy się w jakim trybie działa program i od tego uzależnimy wykonanie się pewnych części kodu.W WPF na szczęście jest to bardzo proste zagadnienie, ponieważ dostajemy gotowy obiekt potrafiący udzielić nam interesujących nas informacji. Spójrzmy na poniższy przykład:
public class Kontrolka : UserControl { public Kontrolka() { if (!DesignerProperties.GetIsInDesignMode(this)) { // Kod który wykona się tylko podczas normalnej pracy aplikacji, a nie w trybie design } } }
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!