Teorie: Popis základních kontrolek na WPF formuláři
(Dílčí příklady jsou převzaty z https://wpf-tutorial.com/ )
Jakým způsobem se pracuje s jednotlivými kontrolkami bylo vysvětleno u prvního příkladu v rámci cvičení. Doporučujeme se nejprve podívat na tento příklad.
3. Základní kontrolky
3.3. Button
Button neboli tlačítko může být na formulář přidáno pomocí tagu <Button>. Text tlačítka může být uveden mezi značkami:
<Button>Hello, world!</Button>
Nebo pomocí vlastnosti Content:
<Button Content=" Hello, world!“ />
Anebo definování Content pomocí tagů:
<Button>
<Button.Content>
Hello, world!
<Button.Content>
</Button>
Tato možnost se ale nepoužívá, neboť Content je výchozí vlastnost a není nutné ji tudíž v tomto kontextu uvádět. Výsledek ve všech případech vypadá stejně:
U tlačítka je velmi důležitá jeho základní funkčnost, tj. je nutné, aby se po klinutí na tlačítko „něco stalo“. V rámci tlačítka je tedy vhodné definovat, jaká metoda se má spustit po kliknutí. To vše se definuje ve vlastnosti Click. Takže například:
<Button Click="HelloWorldButton_Click">Hello, World!</Button>
definuje, že se má po kliknutí na tlačítko spustit metoda HelloWorldButton_Click. Tu je potřeba ještě implementovat v Code-Behind:
private void HelloWorldButton_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello, world!");
}
Tato metoda zajistí, že po kliknutí na tlačítko se objeví okno s textem Hello, world!.
Tlačítko je možné naformátovat, pak např. XAML kód:
<Button Background="Beige" Foreground="Blue" FontWeight="Bold">Formatted Button</Button>
Vytvoří takovéto tlačítko:
Do vlastnosti Content (respektive) mezi značky Button je možné vložit i komplexní XAML kód. Jen pozor: je nutné vše zapouzdřit do nějakého panelu – např. Grid, StackPanel, WrapPanel – viz dále. Ukažme si tedy, jak do tlačítka vložit text s obrázkem:
<Button Padding="5">
<StackPanel Orientation="Horizontal">
<Image Source="/WpfTutorialSamples;component/Images/help.png" />
<TextBlock Margin="5,0">Help</TextBlock>
</StackPanel>
</Button>
Do panelu StackPanel byly vloženy dvě kontrolky – Image a TextBlock. Aby vše fungovalo, musíme v projektu mít složku Images a v ní soubor help.png.
Velice zajímavá a hojně využívaná vlastnost je Padding. Jedná se o možnost vynechání volného místa uvnitř tlačítka. Jedná o „Margin naruby“.