TOC

This article has been localized into Polish by the community.

Ogólne właściwości kontrolek:

Podpowiedzi dla kontrolek

Podpowiedzi - uzyskanie dodatkowych informacji nt. konkretnej kontrolki, czy linku poprzez najechanie na nie kursorem myszki. WPF rzecz jasna wspiera tą funkcję, poprzez użycie właściwości ToolTip znajdującej się w klasie FrameworkElement, po której dziedziczy niemal każda kontrolka WPF.

Tworzenie podpowiedzi dla kontrolek jest bardzo proste, co można zauważyć na poniższym przykładzie:

<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>

Jak widać na obrazku, w momencie najechania kursorem myszki na przycisk, pojawia się w dymek wraz z odpowiednio zdefiniowanym w kodzie łańcuchem znaków. Taką funkcjonalność wyświetlania dodatkowego tekstu oferuje większość frameworków UI.

Właściwość ToolTip nie jest jednak typu string, a typem obiektowym, co oznacza że możemy tam umieścić cokolwiek chcemy. Otwiera to przed nami mnogość całkiem ciekawych możliwości, dzięki czemu jesteśmy w stanie zapewnić użytkownikowi "bogatsze" i bardziej pomocne podpowiedzi. Dla przykładu porównaj działanie poniższego kodu z omawianym przed chwilą:

<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>

Zwróć uwagę, iż w tym przykładzie najpierw skorzystaliśmy ze zwykłego łańcucha tekstu, dla podpowiedzi pierwszego przycisku. A następnie z bardziej zaawansowanych opcji w przypadku drugiego. W zaawansowanym przypadku najpierw wykorzystujemy panel jako główną kontrolkę, a następne dodajemy już zgodnie z pozostałymi założeniami dla naszej podpowiedzi. Ostatecznym rezultatem jest profesjonalna wyglądająca podpowiedź, z nagłówkiem, opisem, oraz dodatkowymi podpowiedziami kryjącymi się po naciśnięciu przycisku F1. O czym użytkownik zostaje dodatkowo poinformowany.

Opcje zaawansowane

Klasa ToolTipService zawiera sporo interesujących właściwości, które mają bezpośredni wpływ na zachowanie tworzonych przez ciebie podpowiedzi. Aby tak było musisz umieścić je bezpośrednio w kontrolce zawierającej podpowiedź. Jeżeli chcielibyśmy, aby czas wyświetlania się podpowiedzi został wydłużony, musielibyśmy zastosować do tego właściwość ShowDuration, którą ustawiamy na 5.000 milisekund (5 sekund).

<Button ToolTip="Create a new file" ToolTipService.ShowDuration="5000" Content="Open" />

Za pomocą właściwości HasDropShadow możesz dodatkowo kontrolować, czy dana podpowiedź będzie, czy też nie rzucać cień. Tak samo jak to, czy podpowiedzi będą się wyświetlać dla nieaktywnych kontrolek: ShowOnDisabled. Pełną listę właściwości możesz sprawdzić pod adresem z oficjalną dokumentacją: http://msdn.microsoft.com/en-us/library/system.windows.controls.tooltipservice.aspx

Podsumowanie

Podpowiedzi mogą się okazać wielką pomocą dla użytkowników. WPF sprawia, że umieszczanie ich w kodzie jest bardzo łatwe, a na dodatek są niewiarygodnie elastyczne. Łaczać fakt, że możesz całkowicie kontrolować wygląd jak i zawartość swoich podpowiedzi, z właściwościami jakie daje klasa ToolTipService, podpowiedzi aż proszą się o zastosowanie ich we własnych aplikacjach.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!