Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O cartão de visita exibe informações de contato, como nome, número de telefone e endereço, para um contato (o mecanismo que o Windows usa para representar pessoas e empresas). O cartão de visita também permite que o usuário edite informações de contato. Você pode optar por exibir um cartão de visita compacto ou um cartão de visita completo que contenha informações adicionais.
APIs importantes: método ShowContactCard, método ShowFullContactCard, método IsShowContactCardSupported, classe Contact
Há duas maneiras de exibir o cartão de visita:
- Como um cartão de contato padrão que aparece em uma janela pop-up que é facilmente descartável, o cartão de contato desaparece quando o usuário clica fora dele.
- Como um cartão de contato completo que ocupa mais espaço e não pode ser dispensado com um clique fora, o usuário deve clicar fechar para fechá-lo.
Esse é o controle correto?
Use o cartão de visita quando quiser exibir informações de contato para um contato. Se você quiser exibir apenas o nome e a imagem do contato, use o controle de imagem da pessoa.
Mostrar um cartão de contato padrão
Normalmente, você mostra um cartão de contato porque o usuário clicou em algo: um botão ou talvez o controle de imagem de perfil. Não queremos ocultar o elemento. Para evitar escondê-lo, precisamos criar um Rect que descreva o local e o tamanho do elemento.
Vamos criar uma função de utilitário que faça isso para nós– vamos usá-la mais tarde.
// 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; }Determine se você pode exibir o cartão de visita chamando o método ContactManager.IsShowContactCardSupported . Se não houver suporte, exiba uma mensagem de erro. (Este exemplo pressupõe que você mostrará o cartão de contato em resposta a um evento de clique.)
// Contact and Contact Managers are existing classes private void OnUserClickShowContactCard(object sender, RoutedEventArgs e) { if (ContactManager.IsShowContactCardSupported()) {Use a função utilitária que você criou na etapa 1 para obter os limites do controle que acionou o evento (para que não o cubramos com o cartão de visita).
Rect selectionRect = GetElementRect((FrameworkElement)sender);Obtenha o objeto Contact que você deseja exibir. Este exemplo apenas cria um contato simples, mas seu código deve recuperar um contato real.
// Retrieve the contact to display var contact = new Contact(); var email = new ContactEmail(); email.Address = "jsmith@contoso.com"; contact.Emails.Add(email);Mostre o cartão de visita chamando o método ShowContactCard .
ContactManager.ShowFullContactCard( contact, selectionRect, Placement.Default); } }
Este é o exemplo de código completo:
// 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);
}
}
Mostrar um cartão de contato completo
Para mostrar o cartão de visita completo, chame o método ShowFullContactCard em vez de 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);
}
Recuperando contatos "reais"
Os exemplos neste artigo criam um contato simples. Em um aplicativo real, você provavelmente gostaria de recuperar um contato existente. Para obter instruções, consulte o artigo Contatos e calendário.
Artigos relacionados
Windows developer