Windows Phone開發(26):啟動器與選取器之MediaPlayerLauncher和SearchTask

來源:互聯網
上載者:User

啟動器與選取器簡單的地方在於,它們的使用方法幾乎一模一樣,從前面幾節中,我相信大家基本上都知道如何使用它們了。
這裡還是哆嗦一下吧,使用啟動器和選取器的步驟如下:
1、執行個體化,new一個;
2、準備各參數,對相關的屬性賦值;
3、Show;
4、對於啟動器,不需要這步,但選取器有返回資料,所以需要處理完成事件。

本節再舉兩例子,啟動器和選取器就可以完成了,然後我們下一節開始,探討新的知識點。

例一:媒體播放器。

 

這是一個啟動器,用起來更方便。
主要屬性有:
Controls——要顯示控制按鈕,如暫集,停止等,它是一個帶了Flags特性標記的枚舉,所以可以多個值合并,如MediaPlaybackControls.Pause | MediaPlaybackControls.Stop

Location——要播放媒體的位置,Data表示檔案存放在隔離儲存區 (Isolated Storage)中,Install表示項目中的媒體檔案;

Media——要播放檔案的URI;

Orientation——這個更好懂了,媒體播放器的方向, 是水平還是垂直,和頁面方向一個概念。

 

<phone:PhoneApplicationPage<br /> x:Class="sampleApp.MainPage"<br /> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"<br /> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"<br /> xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"<br /> xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"<br /> xmlns:d="http://schemas.microsoft.com/expression/blend/2008"<br /> xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"<br /> mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"<br /> FontFamily="{StaticResource PhoneFontFamilyNormal}"<br /> FontSize="{StaticResource PhoneFontSizeNormal}"<br /> Foreground="{StaticResource PhoneForegroundBrush}"<br /> SupportedOrientations="Portrait" Orientation="Portrait"<br /> shell:SystemTray.IsVisible="True"></p><p> <!--LayoutRoot 是包含所有頁面內容的根網格--><br /> <Grid x:Name="LayoutRoot" Background="Transparent"><br /> <Grid.RowDefinitions><br /> <RowDefinition Height="Auto"/><br /> <RowDefinition Height="*"/><br /> </Grid.RowDefinitions></p><p> <!--TitlePanel 包含應用程式的名稱和網頁標題--><br /> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"><br /> <TextBlock x:Name="ApplicationTitle" Text="我的應用程式" Style="{StaticResource PhoneTextNormalStyle}"/><br /> <TextBlock x:Name="PageTitle" Text="頁面名稱" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/><br /> </StackPanel></p><p> <!--ContentPanel - 在此處放置其他內容--><br /> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"><br /> <Button Content="啟動媒體播放器" Height="126" HorizontalAlignment="Left" Margin="31,116,0,0" Name="button1" VerticalAlignment="Top" Width="381" Click="button1_Click" /><br /> </Grid><br /> </Grid></p><p></phone:PhoneApplicationPage>
using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Net;<br />using System.Windows;<br />using System.Windows.Controls;<br />using System.Windows.Documents;<br />using System.Windows.Input;<br />using System.Windows.Media;<br />using System.Windows.Media.Animation;<br />using System.Windows.Shapes;<br />using Microsoft.Phone.Controls;<br />using Microsoft.Phone.Tasks;</p><p>namespace sampleApp<br />{<br /> public partial class MainPage : PhoneApplicationPage<br /> {<br /> // 建構函式<br /> public MainPage()<br /> {<br /> InitializeComponent();<br /> }</p><p> private void button1_Click(object sender, RoutedEventArgs e)<br /> {<br /> MediaPlayerLauncher player = new MediaPlayerLauncher();<br /> player.Controls = MediaPlaybackControls.All;<br /> player.Location = MediaLocationType.Install;<br /> player.Media = new Uri("分飛燕.mp3", UriKind.Relative);<br /> player.Orientation = MediaPlayerOrientation.Portrait;<br /> player.Show();<br /> }<br /> }<br />}

 

 

 

 

例二:搜尋任務。

 

SearchTask類也是一個啟動器,這個傢伙更簡單了,它只有一個屬性要設定——SearchQuery,就是我們要搜尋的關鍵字。

<phone:PhoneApplicationPage<br /> x:Class="sampleApp.Page1"<br /> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"<br /> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"<br /> xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"<br /> xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"<br /> xmlns:d="http://schemas.microsoft.com/expression/blend/2008"<br /> xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"<br /> FontFamily="{StaticResource PhoneFontFamilyNormal}"<br /> FontSize="{StaticResource PhoneFontSizeNormal}"<br /> Foreground="{StaticResource PhoneForegroundBrush}"<br /> SupportedOrientations="Landscape" Orientation="Landscape"<br /> mc:Ignorable="d" d:DesignHeight="480" d:DesignWidth="728"<br /> shell:SystemTray.IsVisible="True"></p><p> <!--LayoutRoot 是包含所有頁面內容的根網格--><br /> <Grid x:Name="LayoutRoot" Background="Transparent"><br /> <Grid.RowDefinitions><br /> <RowDefinition Height="Auto"/><br /> <RowDefinition Height="*"/><br /> </Grid.RowDefinitions></p><p> <!--TitlePanel 包含應用程式的名稱和網頁標題--><br /> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"><br /> <TextBlock x:Name="ApplicationTitle" Text="我的應用程式" Style="{StaticResource PhoneTextNormalStyle}"/><br /> <TextBlock x:Name="PageTitle" Text="搜尋" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/><br /> </StackPanel></p><p> <!--ContentPanel - 在此處放置其他內容--><br /> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"><br /> <TextBox Height="72" HorizontalAlignment="Left" Margin="12,86,0,0" Name="txtKey" VerticalAlignment="Top" Width="460" /><br /> <Button Content="搜尋" Height="72" HorizontalAlignment="Left" Margin="480,86,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /><br /> </Grid><br /> </Grid></p><p></phone:PhoneApplicationPage><br />

using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Net;<br />using System.Windows;<br />using System.Windows.Controls;<br />using System.Windows.Documents;<br />using System.Windows.Input;<br />using System.Windows.Media;<br />using System.Windows.Media.Animation;<br />using System.Windows.Shapes;<br />using Microsoft.Phone.Controls;<br />using Microsoft.Phone.Tasks;</p><p>namespace sampleApp<br />{<br /> public partial class Page1 : PhoneApplicationPage<br /> {<br /> public Page1()<br /> {<br /> InitializeComponent();<br /> }</p><p> private void button1_Click(object sender, RoutedEventArgs e)<br /> {<br /> SearchTask searcher = new SearchTask();<br /> searcher.SearchQuery = txtKey.Text;<br /> searcher.Show();<br /> }<br /> }<br />}

 

 

 

 

下一節開始,我們討論隔離儲存區 (Isolated Storage)。

還有就是提一下建議,部落格編輯器有問題,每次都這樣,第一次自動儲存草稿後,後面就不會儲存了,編輯器內的文本無法選定。而點擊發表時沒有反應,非得重新整理頁面。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.