[Windows Phone 8]選擇聯絡人電話PhoneNumberChooserTask
前言
-------------------------------------------------------------------------------
上一章節有說到發送簡訊的啟動器如何使用,
那麼如果要從電話裡面選擇聯絡人,
該如何選取呢?本章將教大家如何使用PhoneNumberChooserTask!
背景知識
-------------------------------------------------------------------------------
PhoneNumberChooserTask可以讓我們從聯絡人清單中來選擇要
選取的聯絡人,就像一個選擇器一樣,
phone number result
主要的"公共"兩個屬性
DisplayName屬性 : 聯絡人名稱
PhoneNumber屬性 : 聯絡人的電話號碼
實做
---------------------------------------------------------------------------------
1.先建立一個新專案
2.在MainPage上面利用Grid來分 行 與 列 ,然後加上4個TextBlock與1個Button
<!--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事件裡面加上程式碼
這時會發現MyChooser_Completed底下有紅線,我們在下面加入Completed事件
        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.接著我們部屬到模擬機上面
因為我們模擬機上面沒有聯絡人,所以先建立一個測試
建立完成後,回到程式並且選擇聯絡人
結語
--------------------------------------------------------------------------------------------------------
是不是很簡單呢!動手做做看吧 ^_^
希望對大家有幫助^_^
如果上述有錯誤,請不吝指教喔! 感謝大家
參考資料
--------------------------------------------------------------------------------------------------------
How to use the phone number chooser task for Windows Phone
PhoneNumberChooserTask Class – MSDN