[Windows Phone 8]選擇聯絡人電話PhoneNumberChooserTask

[Windows Phone 8]選擇聯絡人電話PhoneNumberChooserTask

前言

-------------------------------------------------------------------------------

 

上一章節有說到發送簡訊的啟動器如何使用,

 

那麼如果要從電話裡面選擇聯絡人,

 

該如何選取呢?本章將教大家如何使用PhoneNumberChooserTask!

 

背景知識

-------------------------------------------------------------------------------

 

PhoneNumberChooserTask可以讓我們從聯絡人清單中來選擇要

 

選取的聯絡人,就像一個選擇器一樣,

 

phone number result

 

主要的"公共"兩個屬性

 

DisplayName屬性 : 聯絡人名稱

 

PhoneNumber屬性 : 聯絡人的電話號碼

 

實做

---------------------------------------------------------------------------------

 

1.先建立一個新專案

 

1

 

2.在MainPage上面利用Grid來分 行 與 列 ,然後加上4個TextBlock與1個Button

 

2

3

 

<!--LayoutRoot 是放置所有頁面的根資料格-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
               
        <TextBlock Grid.Column="0" Grid.Row="0" FontSize="30">聯絡人姓名 : </TextBlock>
        <TextBlock x:Name="txtName" Grid.Column="1" Grid.Row="0" FontSize="30"/>
        <TextBlock Grid.Column="0" Grid.Row="1" FontSize="30">電話號碼 : </TextBlock>
        <TextBlock x:Name="txtNum" Grid.Column="1" Grid.Row="1" FontSize="30"/>
        <Button Grid.Row="2" Grid.ColumnSpan="2" Margin="0,5,0,0" Content="選擇聯絡人" Click="ChooseClick"/>

    </Grid>

 

3.到MainPage.xaml.cs先打上

 

using Microsoft.Phone.Tasks;

 

並在Public MainPage(){}上面先輸入

 

PhoneNumberChooserTask MyChooser = null;

 

接著在Click事件裡面加上程式碼

 

4

 

這時會發現MyChooser_Completed底下有紅線,我們在下面加入Completed事件

 

5

        private void ChooseClick(object sender, RoutedEventArgs e)
        {
            if (MyChooser == null) 
            {
                MyChooser = new PhoneNumberChooserTask();
                MyChooser.Completed += new EventHandler<PhoneNumberResult>(MyChooser_Completed);
            }
            //顯示選擇器
            MyChooser.Show();
            }
    
        void MyChooser_Completed(object sender, PhoneNumberResult e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.Cancel:
                    break;
                case TaskResult.None:
                    break;
                case TaskResult.OK:
                    txtName.Text = e.DisplayName;
                    txtNum.Text = e.PhoneNumber;
                    break;
                default:
                    break;
            }
        }

 

4.接著我們部屬到模擬機上面

 

因為我們模擬機上面沒有聯絡人,所以先建立一個測試

 

6

7

8

 

 

建立完成後,回到程式並且選擇聯絡人

 

9

10

11

 

結語

--------------------------------------------------------------------------------------------------------

是不是很簡單呢!動手做做看吧 ^_^

希望對大家有幫助^_^

如果上述有錯誤,請不吝指教喔! 感謝大家

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考資料

--------------------------------------------------------------------------------------------------------

 

How to use the phone number chooser task for Windows Phone

 

PhoneNumberChooserTask Class – MSDN

 

PhoneNumberResult Class -MSDN