Delen via


Visitekaartje

Op het visitekaartje worden contactgegevens weergegeven, zoals de naam, het telefoonnummer en het adres, voor een contactpersoon (het mechanisme dat Windows gebruikt om personen en bedrijven te vertegenwoordigen). Met het visitekaartje kan de gebruiker ook contactgegevens bewerken. U kunt ervoor kiezen om een compact visitekaartje of een volledig visitekaartje met aanvullende informatie weer te geven.

Belangrijke API's: methode ShowContactCard, methode ShowFullContactCard, methode IsShowContactCardSupported, klasseContact

Er zijn twee manieren om het visitekaartje weer te geven:

  • Als standaard contactkaart die wordt weergegeven in een flyout dat licht afsluitbaar is, verdwijnt de contactkaart wanneer de gebruiker erbuiten klikt.
  • Als een volledig contactkaartje dat meer ruimte in beslag neemt en niet eenvoudig kan worden gesloten, moet de gebruiker op Sluiten klikken om het te sluiten.
Schermopname van een standaard visitekaartje.
De standaard contactkaart
Schermopname van een volledig visitekaartje.
De volledige contactkaart

Is dit de juiste controle?

Gebruik het visitekaartje als u contactgegevens voor een contactpersoon wilt weergeven. Als u alleen de naam en afbeelding van de contactpersoon wilt weergeven, gebruikt u het besturingselement voor de afbeelding van de persoon.

Een standaard visitekaartje weergeven

  1. Normaal gesproken toont u een visitekaartje omdat de gebruiker op iets heeft geklikt: een knop of misschien het besturingselement voor de afbeelding van de persoon. We willen het element niet verbergen. Om te voorkomen dat u het verbergt, moet u een Rect maken waarin de locatie en grootte van het element worden beschreven.

    We gaan een hulpprogrammafunctie maken dat dat voor ons doet. We gebruiken deze later.

    // Gets the rectangle of the element 
    public static Rect GetElementRectHelper(FrameworkElement element) 
    { 
        // Passing "null" means set to root element. 
        GeneralTransform elementTransform = element.TransformToVisual(null); 
        Rect rect = elementTransform.TransformBounds(new Rect(0, 0, element.ActualWidth, element.ActualHeight)); 
        return rect; 
    } 
    
    
  2. Bepaal of u het visitekaartje kunt weergeven door de methode ContactManager.IsShowContactCardSupported aan te roepen. Als dit niet wordt ondersteund, geeft u een foutbericht weer. (In dit voorbeeld wordt ervan uitgegaan dat u het visitekaartje weergeeft als reactie op een klik-gebeurtenis.)

    // Contact and Contact Managers are existing classes 
    private void OnUserClickShowContactCard(object sender, RoutedEventArgs e) 
    { 
        if (ContactManager.IsShowContactCardSupported()) 
        { 
    
    
  3. Gebruik de hulpprogrammafunctie die u in stap 1 hebt gemaakt om de grenzen op te halen van het besturingselement dat de gebeurtenis heeft gegenereerd (zodat we deze niet bedekken met de contactkaart).

            Rect selectionRect = GetElementRect((FrameworkElement)sender); 
    
  4. Haal het object Contactpersoon op dat u wilt weergeven. In dit voorbeeld wordt alleen een eenvoudige contactpersoon gemaakt, maar uw code moet een werkelijke contactpersoon ophalen.

                // Retrieve the contact to display
                var contact = new Contact(); 
                var email = new ContactEmail(); 
                email.Address = "jsmith@contoso.com"; 
                contact.Emails.Add(email); 
    
  5. Het visitekaartje weergeven door de methode ShowContactCard aan te roepen.

            ContactManager.ShowFullContactCard(
                contact, selectionRect, Placement.Default); 
        } 
    } 
    

Hier volgt het volledige codevoorbeeld:

// Gets the rectangle of the element 
public static Rect GetElementRect(FrameworkElement element) 
{ 
    // Passing "null" means set to root element. 
    GeneralTransform elementTransform = element.TransformToVisual(null); 
    Rect rect = elementTransform.TransformBounds(new Rect(0, 0, element.ActualWidth, element.ActualHeight)); 
    return rect; 
} 
 
// Display a contact in response to an event
private void OnUserClickShowContactCard(object sender, RoutedEventArgs e) 
{ 
    if (ContactManager.IsShowContactCardSupported()) 
    { 
        Rect selectionRect = GetElementRect((FrameworkElement)sender);

        // Retrieve the contact to display
        var contact = new Contact(); 
        var email = new ContactEmail(); 
        email.Address = "jsmith@contoso.com"; 
        contact.Emails.Add(email); 
    
        ContactManager.ShowContactCard(
            contact, selectionRect, Placement.Default); 
    } 
} 

Een volledig visitekaartje weergeven

Als u het volledige visitekaartje wilt weergeven, roept u de methode ShowFullContactCard aan in plaats van ShowContactCard.

private void onUserClickShowContactCard() 
{ 
   
    Contact contact = new Contact(); 
    ContactEmail email = new ContactEmail(); 
    email.Address = "jsmith@hotmail.com"; 
    contact.Emails.Add(email); 
 
 
    // Setting up contact options.     
    FullContactCardOptions fullContactCardOptions = new FullContactCardOptions(); 
 
    // Display full contact card on mouse click.   
    // Launch the People’s App with full contact card  
    fullContactCardOptions.DesiredRemainingView = ViewSizePreference.UseLess; 
     
 
    // Shows the full contact card by launching the People App. 
    ContactManager.ShowFullContactCard(contact, fullContactCardOptions); 
} 

"echte" contactpersonen ophalen

In de voorbeelden in dit artikel wordt een eenvoudig contact gemaakt. In een echte app wilt u waarschijnlijk een bestaande contactpersoon ophalen. Zie het artikel Contactpersonen en agenda voor instructies.