Bir şekilde WPF şu anda Tasarım modunda çalışan olup olmadığını kontrol etmek için var mı?
Eğer kodu şu anda tasarım modu (Karışımı gibi veya Visual Studio) yürütülüyorsa kontrol edebilirsiniz böylece mevcut ya da değil, bazı küresel durum değişkeni biliyor mu?
Bu gibi bir şey olurdu:
//pseudo code:
if (Application.Current.ExecutingStatus == ExecutingStatus.DesignMode)
{
...
}
Bu nedenle ihtiyacım olan şu: ne zaman bir uygulama olduğunu gösterdi Tasarım modunda Expression Blend, istediğim ViewModel için kullanmak yerine bir "Tasarım Müşteri sınıfı" olan sahte veriler bunun bir tasarımcısı olabilir görünümünde tasarım modu.
Uygulama aslında yürütülüyor ancak, tabii ki ben ViewModel gerçek veri döndüren gerçek Müşteri sınıfı kullanmak istiyorum.
Ben tasarımcısı alarak bu çözüm şu anda üzerinde çalışıyor önce, ViewModel girip "ApplicationDevelopmentMode değiştirin.Yürütme" için "ApplicationDevelopmentMode.": . Tasarımı
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);
}
}
}
CEVAP
Bir DependencyObject alır GetIsInDesignMode, aradığınız inanıyorum.
Yani.
// 'this' is your UI element
DesignerProperties.GetIsInDesignMode(this);
Düzenleme:Silverlight kullanırken GetIsInDesignMode
beri IsInDesignTool
kullanmalısınız / WP7, bazen Visual Studio yanlış olsa geri dönmeyecek
DesignerProperties.IsInDesignTool
Düzenleme:Ve son olarak, bütünlüğü faiz, WinRT / Metro / Windows Mağazası uygulamaları eşdeğer DesignModeEnabled
:
Windows.ApplicationModel.DesignMode.DesignModeEnabled
Nasıl bir hizmet Android üzerinde çalı...
Bir şekilde eğer bir dosyanın kullanım...
En zarif şekilde, string Python boş ol...
Nasıl bir script node.js altında çalış...
Nasıl bir yol mutlak bir yol veya göre...