Академический Документы
Профессиональный Документы
Культура Документы
EVENTOS
(leer diapositiva)
XAML:
Eventos en XAML
La mayoría de los marcos (frameworks) de UI modernos al igual que WPF, están
impulsados por eventos. Todos los controles, incluida la ventana (Window) (que
también hereda la clase control) exponen un rango de eventos a los que puede
suscribirse. Usted puede suscribirse a estos eventos, lo que significa que su
aplicación será notificada cuando ocurran y podrá entonces reaccionar a ellos.
Hay muchos tipos de eventos, pero algunos de los más comúnmente utilizados
están hechos para responder a la interacción del usuario con su aplicación, con el
ratón o el teclado. En la mayoría de los controles se encuentran eventos como
KeyDown, KeyUp, MouseDown, MouseEnter, MouseLeave, MouseUp y varios otros.
Examinaremos más de cerca cómo funcionan los eventos en WPF, ya que este es
un tema complejo, pero por ahora, debe saber cómo vincular un evento de control
en XAML con un fragmento de código en su archivo de código subyacente (Code-
behind). Echa un vistazo a este ejemplo:
Download & run this example
<Window x:Class="WpfTutorialSamples.XAML.EventsSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="EventsSample" Height="300" Width="300">
<Grid Name="pnlMainGrid" MouseUp="pnlMainGrid_MouseUp"
Background="LightBlue">
</Grid>
</Window>
Observe cómo nos hemos suscrito al evento MouseUp del Grid escribiendo un
nombre de método. Este método debe definirse en código subyacente (code-
behind), utilizando la firma de eventos correcta. En este caso debería verse así:
Varios eventos pueden utilizar el mismo tipo de delegado - por ejemplo, MouseUp
y MouseDown utilizan MouseButtonEventHandler, mientras que el evento
MouseMove utiliza el delegado MouseEventHandler. Cuando se define el método
de gestión del evento, se necesita saber que delegado utiliza. Si se desconoce, se
puede buscar en la documentación.
Make correction
Al seleccionar <New Event Handler> Visual Studio generará un gestor de evento
apropiado en el código subyacente (Code-behind). El nombre seguirá la estructura
de <control name>_<event name>, en nuestro caso pnlMainGrid_MouseDown.
Realizar click-Derecho en el nombre del evento y seleccionar Navegar al Evento te
llevara directamente a él.
1
Checked
Se activa cuando se marca un ToggleButton. (Se hereda de ToggleButton)
2
Click
Se produce cuando se hace clic en un control de botón. (Se hereda de ButtonBase)
3
ContextMenuClosing
Se produce justo antes de que se cierre cualquier menú contextual en el elemento. (Se
hereda de FrameworkElement).
4
ContextMenuOpening
Se produce cuando se abre cualquier menú contextual en el elemento. (Se hereda de
FrameworkElement).
5
DataContextChanged
Se produce cuando cambia el valor de la propiedad FrameworkElement.DataContext. (Se
hereda de FrameworkElement)
6
DragEnter
Se produce cuando el sistema de entrada informa un evento de arrastre subyacente con
este elemento como destino. (Se hereda de UIElement).
7
DragLeave
Se produce cuando el sistema de entrada informa un evento de arrastre subyacente con
este elemento como origen. (Se hereda de UIElement)
8
DragOver
Se produce cuando el sistema de entrada informa un evento de arrastre subyacente con
este elemento como el objetivo de caída potencial. (Se hereda de UIElement)
9
DragStarting
Se produce cuando se inicia una operación de arrastre. (Se hereda de UIElement)
1
DropCompleted
0
Se produce cuando finaliza una operación de arrastrar y soltar. (Se hereda de UIElement)
1
DropDownClosed
1
Se produce cuando se cierra la parte desplegable de ComboBox.
1
DropDownOpened
2
Se produce cuando se abre la parte desplegable de ComboBox.
1
GotFocus
3
Se produce cuando un elemento UIE recibe foco. (Se hereda de UIElement)
1
Holding
4
Se produce cuando se produce una interacción Hold sin control sobre el área de prueba de
impacto de este elemento. (Se hereda de UIElement)
1
Intermediate
5
Se activa cuando el estado de un ToggleButton se cambia al estado indeterminado. (Se
hereda de ToggleButton)
1
IsEnabledChanged
6
Se produce cuando cambia la propiedad IsEnabled. (Se hereda de Control)
1
KeyDown
7
Se produce cuando se presiona una tecla del teclado mientras el elemento UIE tiene el
foco. (Se hereda de UIElement)
1
KeyUp
8
Se produce cuando se suelta una tecla del teclado mientras el UIElement tiene el foco. (Se
hereda de UIElement)
1
LostFocus
9
Se produce cuando un elemento UIE pierde el foco. (Se hereda de UIElement)
2
ManipulationCompleted
0
Se produce cuando se completa una manipulación en el UIElement. (Se hereda de
UIElement)
CODE BEHIND
El código subyacente es un término que se usa para describir el código que se une
con objetos definidos por el marcado XAML cuando una página está compilada
por marcado. En este tema se describen los requisitos para el código subyacente,
así como un mecanismo de código en línea XAMLalternativo para el código de.
La clase parcial debe derivar del tipo que respalda el elemento raíz.
x:Code
XAMLCopiar
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyNamespace.MyCanvasCodeInline"
>
<Button Name="button1" Click="Clicked">Click Me!</Button>
<x:Code><![CDATA[
void Clicked(object sender, RoutedEventArgs e)
{
button1.Content = "Hello World";
}
]]></x:Code>
</Page>
Limitaciones de código en línea
DICCIONARIO DE RECURSOS
Ofrece una implementación de diccionario o tabla hash que contiene recursos de
WPF que usados por los componentes y otros elementos de una aplicación para
WPF.
C#Copiar
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.Ambient]
[System.Windows.Markup.UsableDuringInitialization(true)]
public class ResourceDictionary : System.Collections.IDictionary,
System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope,
System.Windows.Markup.IUriContext
Herencia
Object
ResourceDictionary
Derivado
DesignerStylesDictionary
Atributos
LocalizabilityAttribute AmbientAttribute UsableDuringInitializationAttribute
Implementaciones
ICollection IDictionary IEnumerable ISupportInitialize INameScope IUriContext
Comentarios
<object>
<object.resourcesProperty>
oneOrMoreResources
</object.resourcesProperty>
</object>
Valores XAML
resourcesProperty
Propiedad que especifica un elemento de propiedad, donde el tipo de valor de esa
propiedad ResourceDictionaryes. Normalmente, esta es la Resources propiedad
de FrameworkElement o FrameworkContentElement, o de Application en un caso
de recursos de la aplicación.
oneOrMoreResources
Uno o varios recursos especificados como elementos de objeto. Cada recurso que
especifique debe tener una Directiva x:Key asignada.
Constructores
Propiedades
Métodos
Métodos de extensión