Kartu kontak
Kartu kontak menampilkan informasi kontak, seperti nama, nomor telepon, dan alamat, untuk Kontak (mekanisme yang digunakan Windows untuk mewakili orang dan bisnis). Kartu kontak juga memungkinkan pengguna mengedit info kontak. Anda dapat memilih untuk menampilkan kartu kontak ringkas, atau kartu kontak lengkap yang berisi informasi tambahan.
API Penting: Metode ShowContactCard, metode ShowFullContactCard, metode IsShowContactCardSupported, Kelas kontak
Ada dua cara untuk menampilkan kartu kontak:
- Sebagai kartu kontak standar yang muncul dalam flyout yang dapat dihentikan cahaya--kartu kontak menghilang ketika pengguna mengklik di luarnya.
- Sebagai kartu kontak lengkap yang membutuhkan lebih banyak ruang dan tidak dapat dihentikan cahaya--pengguna harus mengklik tutup untuk menutupnya.


Apakah ini kontrol yang tepat?
Gunakan kartu kontak saat Anda ingin menampilkan info kontak untuk kontak. Jika Anda hanya ingin menampilkan nama dan gambar kontak, gunakan kontrol gambar orang tersebut.
Perlihatkan kartu kontak standar
Biasanya, Anda menampilkan kartu kontak karena pengguna mengklik sesuatu: tombol atau mungkin kontrol gambar orang. Kami tidak ingin menyembunyikan elemen. Untuk menghindari menyembunyikannya, kita perlu membuat Rect yang menjelaskan lokasi dan ukuran elemen.
Mari kita buat fungsi utilitas yang melakukan itu untuk kita --kita akan menggunakannya nanti.
// 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; }
Tentukan apakah Anda dapat menampilkan kartu kontak dengan memanggil metode ContactManager.IsShowContactCardSupported . Jika tidak didukung, tampilkan pesan kesalahan. (Contoh ini mengasumsikan bahwa Anda akan menampilkan kartu kontak sebagai respons terhadap peristiwa klik .)
// Contact and Contact Managers are existing classes private void OnUserClickShowContactCard(object sender, RoutedEventArgs e) { if (ContactManager.IsShowContactCardSupported()) {
Gunakan fungsi utilitas yang Anda buat di langkah 1 untuk mendapatkan batas kontrol yang menembakkan peristiwa (sehingga kami tidak menutupinya dengan kartu kontak).
Rect selectionRect = GetElementRect((FrameworkElement)sender);
Dapatkan objek Kontak yang ingin Anda tampilkan. Contoh ini hanya membuat kontak sederhana, tetapi kode Anda harus mengambil kontak aktual.
// Retrieve the contact to display var contact = new Contact(); var email = new ContactEmail(); email.Address = "jsmith@contoso.com"; contact.Emails.Add(email);
Perlihatkan kartu kontak dengan memanggil metode ShowContactCard .
ContactManager.ShowFullContactCard( contact, selectionRect, Placement.Default); } }
Berikut adalah contoh kode lengkapnya:
// 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);
}
}
Perlihatkan kartu kontak lengkap
Untuk menampilkan kartu kontak lengkap, panggil metode ShowFullContactCard alih-alih 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);
}
Mengambil kontak "nyata"
Contoh dalam artikel ini membuat kontak sederhana. Di aplikasi nyata, Anda mungkin ingin mengambil kontak yang ada. Untuk petunjuknya, lihat artikel Kontak dan kalender.
Artikel terkait
Windows developer