[Sledujte také náš twitter @Aglightcz, kde naleznete krátké zprávy nejen o novinkách na našem webu]
Oznámení, že přišel nový email. Upozornění, že virová databáze je zastaralá nebo že je na serveru dostupná nová verze aplikace. Právě při těchto událostech se můžeme setkat s tzv. notifikací, která obvykle na nás vyskakuje z pravého dolního rohu obrazovky. V rámci nové verze Silverlightu můžeme tento mechanismus využít i v naších aplikacích.
Příklad notifikace:
Třída, která zajišťuje vytváření notifikačních oken, se nacházi ve jmenném prostoru System.Windows. Velikost okna se nastavuje přes vlastnosti Width(šířka) a Height(výška). Pro zobrazení okna se používá metoda Show(int), která jako parametr přijímá dobu, po kterou bude notifikační okno zobrazeno.
Prvním omezením je, že notifikační okno vyvoláte pouze v režimu mimo prohlížeč(Out of the browser - OOB). Uživatel tedy musí mít nainstalovanou aplikaci na svém PC. Není možné vyvolat notifikaci v rámci prohlížeče. Maximální možná velikost notifikačního okna je 100px pro výšku a 400px pro šířku. V případě nedodržení těchto rozměrů se může stát, že se nám okno nezobrazí. Dále je nutné počítat s tím, že v rámci notifikačního okna nemůžeme pracovat s událostmi vyvolané klávesnicí. Ve své podstatě by mělo být notifikační okno určené pouze pro čtení (Read-Only).
Následující aplikace bude mít jedno tlačítko, které po kliknutí vyvolá notifikační okno s nějakým oznámením.
Vytvořme si novou aplikaci a do ní jedno tlačítko. K tlačítku přidejme událost kliknutí(Click).
Velice jednoduše například:
<Grid x:Name="LayoutRoot" Background="White"> <Button Content="Notify" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> </Grid>
Nyní se přepneme do kódu v pozadí (Code behind) a najdeme si metodu, která je vyvolána po kliknutí na tlačítko. V mém případě se jedná o metodu button1_Click.
Do této metody přidejme novou instanci notifikačního okna:
NotificationWindow notify = new NotificationWindow();
Nyní je třeba nastavit rozměry notifikačního okna. Ty se nastavují přes vlastnosti Width(šířka) a Height(výška). Jednotky jsou v pixelech.
notify.Width = 400; notify.Height = 80;
Následně vyplníme okno nějakým obsahem. My si vystačíme pouze s textem. Pro tento účel zvolíme třídu TextBlock s textem “Notifikace”:
TextBlock tb = new TextBlock(); tb.Text = "Notifikace";
notify.Content = tb;
Vlastnost Content je typu FrameworkElement, takže obsah notifikačního okna může být graficky bohatý.
Nakonec toto okno zobrazíme přes metodu Show, která jako parametr přijímá časovou hodnotu. Pomocí této hodnoty, která je určena v milisekundách, oznamujeme, jak dlouho má být notifikační okno viditelné.
notify.Show(3000);
Z uvedeného fragmentu se okno zobrazí po dobu 3s.
Celý kód metody reagující na kliknutí tlačítka:
private void button1_Click(object sender, RoutedEventArgs e) { NotificationWindow notify = new NotificationWindow(); notify.Width = 400; notify.Height = 80; TextBlock tb = new TextBlock(); tb.Text = "Notifikace"; notify.Content = tb; notify.Show(3000); }
V poslední řadě je důležité zapnout možnost instalace aplikace na klientský počítač (OOB). Ten jednoduše nastavíme přes vlastnosti projektu a zaškrtnutím možnosti instalace na klientské PC (Enable running application out of the browser).
Spustíme aplikaci, nainstalujeme aplikaci na klientský počítač a následně klikneme na tlačítko. Mělo by se nám zobrazit notifikační okno podobné tomu na obrázku:
Knowelgde wants to be free, just like these articles!
PYoPkB , [url=http://knynzapsrdcx.com/]knynzapsrdcx[/url], [link=http://uihkrbxnvfje.com/]uihkrbxnvfje[/link], http://sjgryanzlwya.com/
Působí jako Microsoft Student Partner a pracuje jako vývojář v jedné nadnárodní firmě. Zajímá se o webové technologie a počítačovou grafiku. Pozornost také věnuje hernímu průmyslu
email: davidb@devedu.cz
web: www.aglight.cz