В WPF есть свойство DesignMode?

В Winforms вы можете сказать

if ( DesignMode ) { // Do something that only happens on Design mode } 

есть что-то подобное в WPF?

Действительно, есть :

System.ComponentModel.DesignerProperties.GetIsInDesignMode

Пример:

 using System.ComponentModel; using System.Windows; using System.Windows.Controls; public class MyUserControl : UserControl { public MyUserControl() { if (DesignerProperties.GetIsInDesignMode(this)) { // Design-mode specific functionality } } } 

В некоторых случаях мне нужно знать, инициируется ли вызов моего classа, отличного от UI, дизайнером (например, если я создаю class DataContext из XAML). Тогда подход из этой статьи MSDN полезен:

 // Check for design mode. if ((bool)(DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(DependencyObject)).DefaultValue)) { //in Design mode } 

Для любых элементов управления WPF, размещенных в WinForms , DesignerProperties.GetIsInDesignMode(this) не работает.

Итак, я создал ошибку в Microsoft Connect и добавил обходной путь:

 public static bool IsInDesignMode() { if ( System.Reflection.Assembly.GetExecutingAssembly().Location.Contains( "VisualStudio" ) ) { return true; } return false; } 

Поздний ответ, я знаю, но для тех, кто хочет использовать это в DataTrigger или где-нибудь в XAML вообще:

 xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=PresentationFramework"      

Используйте это:

 if (Windows.ApplicationModel.DesignMode.DesignModeEnabled) { //design only code here } 

(Операции Async и File не работают здесь)

Кроме того, чтобы создать экземпляр объекта времени разработки в XAML (d – специальное пространство имен дизайнеров)

  ...  
  • Как преобразовать ImageSource в массив байтов?
  • События WPF в ResourceDictionary для ControlTemplate
  • WPF 4 DataGrid: получение номера строки в RowHeader
  • Командная строка WPF
  • Установка свойства Style метки WPF в коде?
  • Можете ли вы использовать поставщика членства asp.net в приложении Windows?
  • Как остановить Wpf Tabcontrol, чтобы выгрузить визуальное дерево при изменении табуляции
  • MVVM: привязка переключателей к модели просмотра?
  • Изменение цвета кнопки, когда мышь закончилась
  • Копирование из и в буфер обмена теряет прозрачность изображения
  • Как преобразовать размер WPF в физические пиксели?
  • Interesting Posts

    Как я могу заставить несколько видеокарт работать в Linux?

    Является ли Async ожидающим ключевое слово, эквивалентное продолжению с лямбдой?

    Как программно запускать щелчок по ссылке Используя jquery?

    Log4Net: программно указать несколько регистраторов (с несколькими файловыми приложениями)

    gradle – дубликаты библиотек в зависимостях

    Разница между статическими и финальными?

    Получение координат представления относительно корневого макета

    Как перечисление формы можно перечислить в ASP.NET MVC?

    тип намека в classе

    Выбор входных и текстовых входов в HTML – лучший способ сделать равную ширину?

    В чем разница между Reader и InputStream?

    Преобразование строк в дату mm / dd / yy до YYYY-MM-DD в java

    Как зашифровать файл или каталог в Linux?

    Поврежденный DVD-диск приводит к потере данных и как я могу исправить поцарапанный DVD?

    Показывать только текущее имя каталога (не полный путь) в приглашении bash

    Давайте будем гением компьютера.