Kodun şu anda tasarım modunda (örn. Blend veya Visual Studio'da) çalışıp çalışmadığını kontrol edebilmem için kullanılabilen bazı global durum değişkenlerini bilen var mı?
Şöyle bir şeye benzeyecektir:
//pseudo code:
if (Application.Current.ExecutingStatus == ExecutingStatus.DesignMode)
{
...
}
Buna ihtiyacımın nedeni şudur: Uygulamam Expression Blend'de tasarım modunda gösterilirken, ViewModel'in bunun yerine tasarımcının tasarım modunda görüntüleyebileceği sahte veriler içeren bir "Tasarım Müşteri sınıfı" kullanmasını istiyorum.
Bununla birlikte, uygulama gerçekten yürütülürken, tabii ki ViewModel'in gerçek verileri döndüren gerçek Müşteri sınıfını kullanmasını istiyorum.
Şu anda bunu, tasarımcının üzerinde çalışmadan önce ViewModel'e girmesini ve "ApplicationDevelopmentMode.Executing" i "ApplicationDevelopmentMode.Designing" olarak değiştirmesini sağlayarak çözüyorum:
public CustomersViewModel()
{
_currentApplicationDevelopmentMode = ApplicationDevelopmentMode.Designing;
}
public ObservableCollection<Customer> GetAll
{
get
{
try
{
if (_currentApplicationDevelopmentMode == ApplicationDevelopmentMode.Developing)
{
return Customer.GetAll;
}
else
{
return CustomerDesign.GetAll;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}