This article has been localized into Slovak by the community.
Ovládací prvok ToolTips
Tooltips, infotips alebo rady - rôzne mená, ale podstata zostáva rovnaká: schopnosť získať ďalšie informácie o konkrétnej kontrolke, alebo odkaze, ak sa na nej pohybuje myšou. WPF samozrejme podporuje aj túto koncepciu a na to používa vlastnosť ToolTip, ktorá sa nachádza v triede FrameworkElement, z ktorej dedia takmer všetky kontrolky WPF.
Zadať tooltip pre ovládací prvok je veľmi jednoduché, ako uvidíte v tomto prvom príklade:
<Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsSimpleSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ToolTipsSimpleSample" Height="150" Width="400">
<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
<Button ToolTip="Click here and something will happen!">Click here!</Button>
</Grid>
</Window>
Ako môžete vidieť na snímke, výsledkom je plávajúce pole so zadaným reťazcom, keď sa myš pohybuje nad tlačidlom. To ponúka väčšina UI rozhraní - zobrazenie textového reťazca a nič viac.
Vo WPF však vlastnosť ToolTip vlastne nie je typ reťazca, ale typ objektu, čo znamená, že tam môžeme dať čo chceme. Otvára sa tu niekoľko skvelých možností, kde môžeme poskytnúť používateľovi oveľa bohatšie a užitočné návody. Napríklad, zvážte tento príklad a porovnajte ho s prvým:
<Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsAdvancedSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ToolTipsAdvancedSample" Height="200" Width="400" UseLayoutRounding="True">
<DockPanel>
<ToolBar DockPanel.Dock="Top">
<Button ToolTip="Create a new file">
<Button.Content>
<Image Source="/WpfTutorialSamples;component/Images/page_white.png" Width="16" Height="16" />
</Button.Content>
</Button>
<Button>
<Button.Content>
<Image Source="/WpfTutorialSamples;component/Images/folder.png" Width="16" Height="16" />
</Button.Content>
<Button.ToolTip>
<StackPanel>
<TextBlock FontWeight="Bold" FontSize="14" Margin="0,0,0,5">Open file</TextBlock>
<TextBlock>
Search your computer or local network
<LineBreak />
for a file and open it for editing.
</TextBlock>
<Border BorderBrush="Silver" BorderThickness="0,1,0,0" Margin="0,8" />
<WrapPanel>
<Image Source="/WpfTutorialSamples;component/Images/help.png" Margin="0,0,5,0" />
<TextBlock FontStyle="Italic">Press F1 for more help</TextBlock>
</WrapPanel>
</StackPanel>
</Button.ToolTip>
</Button>
</ToolBar>
<TextBox>
Editor area...
</TextBox>
</DockPanel>
</Window>
Všimnite si, ako tento príklad používa jednoduchý textový tooltip pre prvé tlačidlo a potom oveľa pokročilejší pre druhé tlačidlo. V pokročilejšom prípade používame panel ako koreňovú kontrolku a potom môžeme pridať ďalšie ovládacie prvky. Výsledok je dosť v pohode, s hlavičkou, textom popisu a nápovedou, že môžete stlačiť F1 pre ďalšiu pomoc, vrátane ikony pomoci.
Pokročilé možnosti
Trieda ToolTipService má veľa zaujímavých vlastností, ktoré ovplyvňujú správanie vašich tooltips. Nastavíte ich priamo na ovládacom prvku, ktorý má tooltip, napríklad tu, kde predlžujeme čas zobrazenia tooltipu pomocou vlastnosti ShowDuration (nastavíme ho na 5000 milisekúnd alebo 5 sekúnd):
<Button ToolTip="Create a new file" ToolTipService.ShowDuration="5000" Content="Open" />
Môžete tiež kontrolovať, či má vyskakovacie okno obsahovať tieň, pomocou vlastnosti HasDropShadow , alebo či by sa mali zobrazovať aj popisy nástrojov pre zakázané ovládacie prvky pomocou vlastnosti ShowOnDisabled. Existuje niekoľko ďalších zaujímavých vlastností, takže kompletný zoznam nájdete tu: http://msdn.microsoft.com/en-us/library/system.windows.controls.tooltipservice.aspx
Zhrnutie
Tooltips môžu byť pre užívateľa veľmi nápomocné a vo WPF sú ľahko použiteľné a extrémne flexibilné. Môžete úplne ovládať dizajn a obsah Tooltipu a kombinovať s vlastnosťami z triedy ToolTipService, aby ste vo svojich aplikáciách vytvorili viac užívateľsky prívetivú nápovedu.