Практическое руководство. Определение режима, в котором находится пользовательский элемент управления (режим разработки или режиме выполнения)
При использовании расширения среды для настройки конструктора Конструктор WPF для Visual Studio может потребоваться настройка поведения элемента управления во время разработки или выполнения. Можно настроить поведение элемента во время разработки для конечных пользователей. Например, при создании пользовательской кнопки можно установить отображение текста на кнопке во время разработки, но не во время выполнения. Можно также настроить элемент управления со сложным поведением таким образом, чтобы это поведение реализовывалось только во время выполнения. Например, элемент управления, автоматически обращающийся к базе данных, должен получать доступ к базе данных во время выполнения, но не во время разработки.
Определить, когда должен выполняться элемент управления — во время разработки или во время выполнения, можно с помощью метода GetIsInDesignMode.
Использование свойства режима конструктора
В этой процедуре текст на пользовательском элементе управления "кнопка" отображается во время разработки, но не во время выполнения.
Использование свойства режима конструктора
В файле кода программной части для пользовательского элемента управления найдите конструктор пользовательского элемента управления.
Добавьте код, вызывающий метод GetIsInDesignMode, и соответствующим образом настройте поведение элемента управления. При передаче ссылки на пользовательский элемент управления в качестве аргумента метода GetIsInDesignMode этот метод определяет, находится ли элемент управления в режиме разработки. Добавьте, например, следующий код:
Namespace CustomControlLibrary Public Class ButtonWithDesignTime Inherits System.Windows.Controls.Button Public Sub New() If System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then Me.Content = "This button is in design mode." End If End Sub End Class End Namespace
namespace CustomControlLibrary { public class ButtonWithDesignTime : System.Windows.Controls.Button { public ButtonWithDesignTime() { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { this.Content = "This button is in design mode."; } } } }
См. также
Другие ресурсы
Сравнение поведения во время разработки и во время выполнения