Windows Presentation Foundation

Události

Použití událostí (event) ve WPF je velice snadné. Pokud element (třída) má nějaké události. XAML zpřístupní tyto události jako atribut. Název atributu bude stejný jako název události. Například událost Click u třídy Button bude přístupná pomocí atributu s názvem Click. Jako hodnota atributu se uvede název obslužné metody pro tuto událost.

Událost MouseLeftButtonDown u elementu Rectangle (obdélník)
<Rectangle
            x:Name="obdelnik"
            Canvas.Top="40"
            Canvas.Left="177"
            Fill=" #FFF4F4F5" 
            Height="100"
            Width="100"
            Stroke="Black" 
            MouseLeftButtonDown="obdelnik_MouseLeftButtonDown"/>
Rectangle – vytvoří obdélník o výšce (Height) 100 a šířce (Width) 100, umístěný pomocí vlastností Canvas.Top a Canvas.Left
MouseLeftButtonDown – atribut zastupující událost (kliknutí levým tlačítkem myši)
Fill – vyplní obdélník zadanou barvou
Stroke – určí barvu obrysu obdélníku
Je důležité, aby GUI prvek (Rectangle) měl nastavenou barvu výplně. Bez toho nebude fungovat určení pozice na tomto prvku.
Zjištění pozice kliknutí myši na obdélníku
void obdelnik_MouseLeftButtonDown(object sender, MouseButtonEventArgs  e)
{
    Point poziceKliknuti = e.GetPosition(obdelnik);

    xTextBox.Text = poziceKliknuti.X.ToString();
    yTextBox.Text = poziceKliknuti.Y.ToString();
}
obdelnik_MouseLeftButtonDown – tato metoda se zavolá, pokud dojde ke vzniku události MouseLeftButtonDown
sender – objekt, který vyvolal tuto událost
e – objekt třídy MouseButtonEventArgs nese další informace o události
e.GetPosition(obdelnik) – zjistí pozici myši na obdélníku, kdy došlo k této události
Pozice myši bude relativní k objektu obdélníku. Bude počítána od levého horního okraje obdélníku.

MouseButtonEventArgs není jediným typem argumentu vráceného událostí. Například událost KeyDown vrací argument typu KeyEventArgs. Tento objekt nese informace o klávesách, které byly stlačeny. Informace o typu argumentu události jsou uvedeny v dokumentaci na MSDN . Zde je také možné zjistit jaké vlastnosti a metody tento typ poskytuje. Na Obrázku 6 je rozhraní po kliknutí na obdélník.

Rozhraní aplikace pro ukázku událostí
Obrázek 6 Rozhraní aplikace pro ukázku událostí [zdroj: vlastní]
Ukázkové řešení: XAML/UdalostKliknutiMysiNaObdelnik

Přidání události k ovládacímu prvku ve Visual Studiu je stejný jak pro WPF tak i pro Windows Forms. V panelu Properties se nachází malá ikona ikona udalosti Kliknutím na ni se vypíší události k danému ovládacímu prvku. Zde stačí přidat název obslužné metody události.

Přidání obslužné metody pro Windows Forms a WPF v C#
tlacitko.Click += tlacitko_Click;
Click – událost Click u třídy Button
+= – použije se pro připojení obslužné metody
K události může být připojeno vícero obslužných metod.