Compartilhar via


RoutedEventArgs.OriginalSource Propriedade

Definição

Obtém uma referência ao objeto que gerou o evento. Isso geralmente é uma parte de modelo de um controle em vez de um elemento que foi declarado na interface do usuário do aplicativo.

public:
 property Platform::Object ^ OriginalSource { Platform::Object ^ get(); };
IInspectable OriginalSource();
public object OriginalSource { get; }
var object = routedEventArgs.originalSource;
Public ReadOnly Property OriginalSource As Object

Valor da propriedade

Object

Platform::Object

IInspectable

O objeto que gerencie o evento.

Comentários

Quando um evento roteado gera uma rota de evento, sender não é mais o mesmo objeto que o objeto de acionamento de eventos. Em vez disso, sender é o objeto em que o manipulador que está sendo invocado está anexado.

Em alguns casos, sender não é interessante, e você está interessado em informações como quais dos possíveis objetos filho o ponteiro acabou quando um evento de ponteiro foi disparado ou qual objeto em uma interface do usuário maior manteve o foco quando um usuário pressionava uma tecla de teclado. Para esses casos, você pode usar o valor da OriginalSource propriedade . Em todos os pontos da rota, OriginalSource relata o objeto original que disparou o evento, em vez do objeto em que o manipulador está anexado. Contudo, para eventos de entrada de UIElement, esse objeto original costuma ser um objeto não imediatamente visível na XAML de definição de interface do usuário em nível de página. Em vez disso, o objeto original pode ser uma parte modelo de um controle. Por exemplo, se o usuário passar o ponteiro sobre a borda de um Botão, para a maioria dos eventos de ponteiro o OriginalSource será uma parte de modelo borda no Modelo, não o botão em si. Portanto, nem sempre você pode contar OriginalSource com a representação de um objeto que você declarou especificamente em suas definições de interface do usuário no nível da página XAML.

Dica

A propagação de eventos de entrada será especialmente útil se você estiver criando um controle de modelo. Qualquer controle que tenha um modelo pode ter um novo modelo aplicado pelo seu consumidor. O consumidor que está tentando recriar um modelo de trabalho pode eliminar inadvertidamente uma parte da manipulação de eventos declarada no modelo padrão. Você ainda pode fornecer manipulação de eventos em nível de controle anexando manipuladores como parte da substituição de OnApplyTemplate na definição de classe. Em seguida, pode apanhar os eventos de entrada propagados rumo à raiz do controle na instanciação.

Aplica-se a

Confira também