EventSetter Класс

Определение

Представляет метод задания события в стиле. Методы задания событий вызывают заданные обработчики событий в ответ на события.

public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
    inherit SetterBase
Public Class EventSetter
Inherits SetterBase
Наследование
EventSetter

Примеры

В следующем примере устанавливается один из EventSetter стилей на уровне страницы.

<StackPanel
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.EventOvw2"
  Name="dpanel2"
  Initialized="PrimeHandledToo"
>
  <StackPanel.Resources>
    <Style TargetType="{x:Type Button}">
      <EventSetter Event="Click" Handler="b1SetColor"/>
    </Style>
  </StackPanel.Resources>
  <Button>Click me</Button>
  <Button Name="ThisButton" Click="HandleThis">
    Raise event, handle it, use handled=true handler to get it anyway.
  </Button>
</StackPanel>

Ниже приведены примеры обработчиков событий:

void b1SetColor(object sender, RoutedEventArgs e)
{
  Button b = e.Source as Button;
  b.Background = new SolidColorBrush(Colors.Azure);
}

void HandleThis(object sender, RoutedEventArgs e)
{
  e.Handled=true;
}
Private Sub b1SetColor(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(e.Source, Button)
  b.Background = New SolidColorBrush(Colors.Azure)
End Sub

Private Sub HandleThis(ByVal sender As Object, ByVal e As RoutedEventArgs)
  e.Handled=True
End Sub

Комментарии

Методы задания событий вызывают указанные обработчики событий в ответ на перенаправленные события, которые применяются ко всем элементам, которые ссылаются Style на те элементы, которые ссылаются на них, а не требуют присоединения обработчиков экземпляров к каждому отдельному элементу. Поддерживаются EventSetter только Style.Setters объекты.

Можно объявлять только методы задания событий для событий, которые являются перенаправленными событиями. Вы можете объявить методы задания событий для перенаправленных событий с помощью стратегии прямой маршрутизации, событий с пузырьками или туннелирования событий.

Экземпляры EventSetter класса обычно создаются с помощью языка РАЗМЕТКи расширяемых приложений (XAML) в качестве объектного элемента в стиле, определенном с помощью XAML. Также EventSetter может создаваться экземпляр из кода.

Методы задания событий нельзя использовать в стиле, содержавшемся в словаре ресурсов темы. Это связано с тем, что словарь ресурсов темы во время выполнения часто является свободным двоичным файлом XAML (BAML) и не имеет области, в которой может существовать сопутствующий код программной части, определяющий обработчики.

Обработчики, подключенные через методы задания событий, вызываются после любых обработчиков классов для события, а также после обработчиков экземпляров. В результате, если обработчик класса или обработчик экземпляра помечает событие, обработанное в его аргументах, обработчик, объявленный методом задания событий, не вызывается, если только метод задания событий не задает HandledEventsToo true.

Методы задания событий также могут поступать из BasedOn стилей. Обработчики метода задания событий из стиля, указанного как BasedOn будут вызываться после обработчиков в немедленном стиле.

Обратите внимание, что поддерживаются EventSetter только Style.Setters объекты. Триггеры (TriggerBase и производные классы) не поддерживают EventSetter.

Конструкторы

EventSetter()

Инициализирует новый экземпляр класса EventSetter.

EventSetter(RoutedEvent, Delegate)

Инициализирует новый экземпляр класса EventSetter, используя указанные параметры события и обработчика.

Свойства

Event

Возвращает или задает определенное перенаправленное событие, на которое отвечает этот EventSetter.

HandledEventsToo

Получает или задает значение, которое определяет, должен ли вызываться обработчик, назначенный для переключателя, даже если событие обозначено как событие, которое обрабатывается в собственных данных.

Handler

Получает или задает ссылку на обработчик для перенаправленного события в переключателе.

IsSealed

Получает значение, указывающее, находится ли данный объект в неизменяемом состоянии.

(Унаследовано от SetterBase)

Методы

CheckSealed()

Проверяет возможность изменения объекта или его доступность исключительно для чтения.

(Унаследовано от SetterBase)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел