This article has been localized into Danish by the community.
Control ToolTips
Værktøjstips, infotips eller tips - forskellige navne, men konceptet er det samme. Muligheden for at få ekstra information om en specifik kontrol eller genvej ved at holde musen over den. WPF understøtter selvfølgelig dette koncept også, ved at bruge ToolTip egenskaben fundet på FrameworkElement klassen, som stort set alle WPF kontroller nedarver fra.
Angivelse af et værktøjstip til en kontrol er meget nemt, som du kan se i det første og meget simple eksempel:
<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>
Sum du kan se i eksemplet på skærmbilledet resulterer dette i en flydende boks med den angivne streng, når musen holdes over knappen. Dette er hvad de fleste UI frameworks tilbyder - visning af en tekststreng og intet andet.
Men i WPF er ToolTip egenskaben ikke en streng-type, men i stedet en objekt-type, hvilket betyder, at vi kan indsætte hvad som helst, vi ønsker. Dette åbner nogle ret seje muligheder, hvor vi kan give brugeren nogle meget mere indholdsrige og mere hjælpsomme værktøjstips. Kig f.eks. på dette eksempel og sammenlign det med det første.
<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>
Bemærk hvordan dette eksempel bruger en simpel streng til værktøjstip for den første knap og derefter en meget mere avanceret en til den anden knap. I det avancerede tilfælde bruger vi et panel som rod-kontrollen, og derefter har vi frie hænder til at tilføje kontrollere til det, som vi har lyst til. Resultatet er reg sejt med en overskrift, en beskrivelsestekst og et tip om, at du kan trykke F1 for mere hjælp - inklusive et hjælp-ikon.
Avancerede indstillinger
ToolTipService klassen har en samling interessante egenskaber, som har indflydelse på opførslen for dine værktøjstips. Du sætter dem direkte på den kontrol, som har værktøjstippet, f.eks. som her, hvor vi udvider den tid, et værktøjstip bliver vist ved at bruge ShowDuration egenskaben (vi sætter den til 5.000 millisekunder eller 5 sekunder);
<Button ToolTip="Create a new file" ToolTipService.ShowDuration="5000" Content="Open" />
Du kan også kontrollere, om pop op vinduet skal have en skygge ved hjælp af HasDropShadow egenskaben, eller om værktøjstips skal vises for deaktiverede kontroller også ved hjælp af ShowOnDisabled egenskaben. Der er adskillige andre interessante egenskaber, så for en komplet liste må du konsultere dokumentationen: http://msdn.microsoft.com/en-us/library/system.windows.controls.tooltipservice.aspx
Resume
Værktøjstips kan være en stor hjælp for brugeren, og i WPF er de både nemme at anvende og ekstremt fleksible. Kombiner det faktum, at du fuldstændig kan kontrollere kontrol-designet og indholdet i værktøjstippet med egenskaber fra ToolTipService klassen for at skabe mere brugervenlig inline hjælp i dine applikationer.