EventSetter EventSetter EventSetter EventSetter Class

Определение

Представляет переключатель события в стиле.Represents an event setter in a style. Методы задания событий вызывают заданные обработчики событий в ответ на события.Event setters invoke the specified event handlers in response to events.

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

Примеры

В следующем примере создается один EventSetter объект внутри стиля на уровне страницы.The following example establishes a single EventSetter within a page-level style.

<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>

Ниже показаны примеры обработчиков событий:The following shows the example event handlers:

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 , а не требуют присоединения обработчиков экземпляров к каждому отдельному элементу.Event setters invoke the specified event handlers in response to routed events, which apply to all elements that reference the Style rather than requiring you to attach instance handlers to each individual element. Style.Setters ПоддерживаютсяEventSetter только объекты.Only Style.Setters support EventSetter objects.

Методы задания событий можно объявлять только для событий, которые являются перенаправленными событиями.You can only declare event setters for events that are routed events. Можно объявить методы задания событий для перенаправленных событий с помощью стратегии прямой маршрутизации, восходящей передачи событий или событий туннелирования.You can declare event setters for routed events with a direct routing strategy, bubbling events, or tunneling events.

Экземпляры класса обычно создаются с помощью Язык XAMLExtensible Application Markup Language (XAML), как объектный элемент внутри стиля, определенного с помощью XAMLXAML. EventSetterInstances of the EventSetter class are usually created through Язык XAMLExtensible Application Markup Language (XAML), as an object element within a style defined through XAMLXAML. Экземпляр EventSetter можно также создать из кода.An EventSetter might also be instantiated from code.

Методы задания событий не могут использоваться в стиле, который содержится в словаре ресурсов темы.Event setters cannot be used in a style that is contained in a theme resource dictionary. Это обусловлено тем, что словарь ресурсов темы во время выполнения часто двоичный XAML (BAML)binary XAML (BAML) является свободными файлами и не имеет какой-либо области, определенной, где может существовать вспомогательный код, определяющий обработчики.This is because a theme resource dictionary at run time is often loose двоичный XAML (BAML)binary XAML (BAML) files, and does not have any scope defined where accompanying code-behind that defines the handlers can exist.

Обработчики, подключенные через методы задания событий, вызываются после любого обработчика класса для события, а также после любых обработчиков экземпляров.Handlers attached through event setters are invoked after any class handlers for an event, and also after any instance handlers. В результате, если обработчик класса или обработчик экземпляра помечает событие, обработанное в своих аргументах, то обработчик, объявленный с помощью метода задания события, не вызывается, если только метод задания события не HandledEventsToo задается trueспециально.As a result, if a class handler or instance handler marks an event handled in its arguments, then the handler declared by an event setter is not invoked, unless the event setter specifically sets HandledEventsToo true.

Методы задания событий также могут поступать BasedOn из стилей.Event setters may also come from BasedOn styles. Обработчики задания события из стиля, указанного как BasedOn , будут вызываться после обработчиков в стиле интерпретации.The event setter handlers from the style specified as BasedOn will be invoked after the handlers on the immediate style.

Обратите внимание Style.Setters , EventSetter что поддерживает только объекты.Note that only Style.Setters supports EventSetter objects. ТриггерыTriggerBase (и производные классы) не EventSetterподдерживают.Triggers (TriggerBase and derived classes) do not support EventSetter.

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

EventSetter() EventSetter() EventSetter() EventSetter()

Инициализирует новый экземпляр класса EventSetter.Initializes a new instance of the EventSetter class.

EventSetter(RoutedEvent, Delegate) EventSetter(RoutedEvent, Delegate) EventSetter(RoutedEvent, Delegate) EventSetter(RoutedEvent, Delegate)

Инициализирует новый экземпляр класса EventSetter, используя указанные параметры события и обработчика.Initializes a new instance of the EventSetter class, using the provided event and handler parameters.

Свойства

Event Event Event Event

Возвращает или задает определенное перенаправленное событие, на которое отвечает этот EventSetter.Gets or sets the particular routed event that this EventSetter responds to.

HandledEventsToo HandledEventsToo HandledEventsToo HandledEventsToo

Получает или задает значение, которое определяет, должен ли вызываться обработчик, назначенный для переключателя, даже если событие обозначено как событие, которое обрабатывается в собственных данных.Gets or sets a value that determines whether the handler assigned to the setter should still be invoked, even if the event is marked handled in its event data.

Handler Handler Handler Handler

Получает или задает ссылку на обработчик для перенаправленного события в переключателе.Gets or sets the reference to a handler for a routed event in the setter.

IsSealed IsSealed IsSealed IsSealed

Возвращает значение, показывающее, находится ли этот объект в неизменном состоянии.Gets a value that indicates whether this object is in an immutable state.

(Inherited from SetterBase)

Методы

CheckSealed() CheckSealed() CheckSealed() CheckSealed()

Проверяет возможность изменения объекта или его доступность исключительно для чтения.Checks whether this object is read-only and cannot be changed.

(Inherited from SetterBase)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

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

Дополнительно