Freigeben über


Visitenkarte

Auf der Visitenkarte werden Kontaktinformationen wie Name, Telefonnummer und Adresse für einen Kontakt angezeigt (der Mechanismus, mit dem Windows Personen und Unternehmen repräsentiert). Die Visitenkarte ermöglicht dem Benutzer auch die Bearbeitung von Kontaktinformationen. Sie können eine kompakte Visitenkarte oder eine vollständige Visitenkarte anzeigen, die zusätzliche Informationen enthält.

Wichtige APIs: ShowContactCard-Methode, ShowFullContactCard-Methode, IsShowContactCardSupported-Methode, Contact-Klasse

Es gibt zwei Möglichkeiten zum Anzeigen der Visitenkarte:

  • Als Standardkontaktkarte, die in einem Flyout angezeigt wird, das leicht ausgeblendet werden kann – verschwindet die Kontaktkarte, wenn der Benutzer außerhalb davon klickt.
  • Als vollständige Visitenkarte, die mehr Platz beansprucht und nicht leicht verworfen werden kann– muss der Benutzer auf " Schließen" klicken, um sie zu schließen.
Screenshot einer Standardkontaktkarte.
Die Standardkontaktkarte
Screenshot einer vollständigen Visitenkarte.
Die vollständige Visitenkarte

Ist dies das richtige Steuerelement?

Verwenden Sie die Visitenkarte, wenn Sie Kontaktinformationen für einen Kontakt anzeigen möchten. Wenn Sie nur den Namen und das Bild des Kontakts anzeigen möchten, verwenden Sie das Personenbild-Steuerelement.

Anzeigen einer Standardkontaktkarte

  1. In der Regel zeigen Sie eine Visitenkarte an, da der Benutzer auf eine Schaltfläche oder vielleicht auf das Personenbild-Steuerelement geklickt hat. Das Element soll nicht ausgeblendet werden. Um das Ausblenden zu vermeiden, müssen wir ein Rect erstellen, das die Position und Größe des Elements beschreibt.

    Erstellen wir nun eine Hilfsfunktion, die dies für uns tut – wir verwenden sie später.

    // 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. Bestimmen Sie, ob Sie die Visitenkarte anzeigen können, indem Sie die ContactManager.IsShowContactCardSupported-Methode aufrufen. Wenn sie nicht unterstützt wird, wird eine Fehlermeldung angezeigt. (In diesem Beispiel wird davon ausgegangen, dass Die Visitenkarte als Reaktion auf ein Klickereignis angezeigt wird.)

    // Contact and Contact Managers are existing classes 
    private void OnUserClickShowContactCard(object sender, RoutedEventArgs e) 
    { 
        if (ContactManager.IsShowContactCardSupported()) 
        { 
    
    
  3. Verwenden Sie die Hilfsfunktion, die Sie in Schritt 1 erstellt haben, um die Grenzen des Steuerelements abzurufen, das das Ereignis ausgelöst hat (sodass wir es nicht mit der Visitenkarte abdecken).

            Rect selectionRect = GetElementRect((FrameworkElement)sender); 
    
  4. Rufen Sie das Contact-Objekt ab, das Sie anzeigen möchten. In diesem Beispiel wird nur ein einfacher Kontakt erstellt, ihr Code sollte jedoch einen tatsächlichen Kontakt abrufen.

                // Retrieve the contact to display
                var contact = new Contact(); 
                var email = new ContactEmail(); 
                email.Address = "jsmith@contoso.com"; 
                contact.Emails.Add(email); 
    
  5. Zeigen Sie die Visitenkarte an, indem Sie die ShowContactCard-Methode aufrufen.

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

Hier sehen Sie das vollständige Codebeispiel:

// 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); 
    } 
} 

Anzeigen einer vollständigen Kontaktkarte

Rufen Sie zum Anzeigen der vollständigen Visitenkarte die ShowFullContactCard-Methode anstelle von ShowContactCard auf.

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); 
} 

Abrufen von "echten" Kontakten

Die Beispiele in diesem Artikel erstellen einen einfachen Kontakt. In einer echten App möchten Sie wahrscheinlich einen vorhandenen Kontakt abrufen. Anweisungen finden Sie im Artikel "Kontakte" und "Kalender".