Windows Phone8.1 SDK中的新控件

  • 前言

     WP8.1對開發者的影響要遠大於對用戶的影響。這篇博客就來一塊兒看看哪些WP8.0中的控件被移除或替換,這些控件的介紹在MSDN上都很是的詳細,因此這裏只給出一些簡單的介紹,來對比8.1和8.0中的控件的差異,若是想要看控件的具體使用方法能夠在MSDN上查看,以後也會給出MSDN上的連接。html

  • Panorama VS Hub

     在上一篇博客中咱們安裝完VS2013UPDATE2RC以後,首先看到的一個變化就是Hub App。原有的Panorama控件已經不見了,Hub控件用HubSection替換掉原來的PanoramaItem,HubSection必須指定DataTemplate屬性。兩個控件的用法是很是相似的,須要提到的一點不一樣是,Hub控件若是在只有不會HubSection的狀況下不會像Panorama那樣能夠一直朝一個方向滑,若是大於兩個那就和Panorama同樣了,一些屬性的名稱也有變化,詳細信息web

<Hub Header="My header">
    <HubSection Header="My sub header">
        <DataTemplate>
            <Grid />
        </DataTemplate>
    </HubSection>
    <HubSection Header="My sub header 2">
        <DataTemplate>
            <Grid />
        </DataTemplate>
    </HubSection>
</Hub>
  • LongListSelector VS SemanticZoom

    在WP8.1中除了使用LLS展現分組的列表,還可使用SemanticZoom。SemanticZoom原是Win8中的控件,它不是列表控件但它倒是很是有用的呈現列表的控件。它有兩個狀態,ZoomedInView和ZoomedOutView。顧名思義,使用這兩個狀態就能夠作出LLS的效果,在ZoomedInView時使用ListView展現列表,在ZoomedOutView時使用GridView來展現分組。不光如此,SemanticZoom還能夠應用在地圖和地點集合的示例中,詳細信息windows

<SemanticZoom>
    <SemanticZoom.ZoomedInView>
        <ListView/>
    </SemanticZoom.ZoomedInView>
    <SemanticZoom.ZoomedOutView>
        <GridView/>
    </SemanticZoom.ZoomedOutView>
</SemanticZoom>
  • WebBrowser VS WebView

     對於開發者來講可能僅僅是改變了名字,其實在底層作了不少工做。WebBrowser是一個真正的Browser浮在全部頁面之上,帶來了不少問題。但WebView是集成在XAML虛擬樹中的控件,甚至能夠輕鬆的將XAML和HTML混合在一塊兒使用,詳細信息app

  • DrawingSurface and DrawingSurfaceBackgroundGrid

     在WP8.1中咱們應該使用Windows8.1中的控件SwapChainPanel,詳細信息async

  • MultiScaleImage

     在WP8.1中這個控件被申明爲不在被推薦使用。但在WP8.1中製做圖片應用時這個控件依然可使用。性能

  • RichTextBox is now RichTextBlock

     這個控件僅僅是改了個名字,詳細信息ui

<RichTextBlock>
    <Paragraph>
        Some text with bold <Bold>in it</Bold>
    </Paragraph>
</RichTextBlock>
  • AutoSuggestBox

     這是一個全新的控件,Windows8.1中也沒有。有不少第三方的控件也實現了自動補全的功能,此次推出一個官方的版本。推薦的內容再也不僅僅是文本,能夠是任何類型的控件,但出於性能問題的考慮仍是要保證推薦內容的儘量的輕量,詳細信息
spa

<AutoSuggestBox TextChanged="AutoSuggestBox_TextChanged"
    SuggestionChosen="AutoSuggestBox_SuggestionChosen" ItemsSource="{Binding Suggestions}">
    <AutoSuggestBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
    </AutoSuggestBox.ItemTemplate>
</AutoSuggestBox>
private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
    if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
    {
        Suggestions.Clear();
        Suggestions.Add(sender.Text + "1");
        Suggestions.Add(sender.Text + "2");
    }
}
private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)
{
     // Add text to AutoSuggestBox
}
  • CaptureElement

     這個控件是Windows和WP共享控件,經過這個控件能夠作一個攝像頭的查看器,能夠任意設置控件的大小,詳細信息ssr

 <CaptureElement x:Name="myCaptureElement"/> code

private MediaCapture mediaCaptureMgr = null;
private async void ShowPreview()
{
    if (mediaCaptureMgr == null)
    {
        mediaCaptureMgr = new MediaCapture();
        await mediaCaptureMgr.InitializeAsync();
 
        myCaptureElement.Source = mediaCaptureMgr;
        await mediaCaptureMgr.StartPreviewAsync();
    }
}
  • ProgressRing

    在以前介紹如何自定義控件的時候向你們推薦了一個進度環的控件,如今在WP8.1中咱們可使用Windows的原生進度環控件了,詳細信息

  • 總結

   WP8.1中還有不少新的控件好比,Frame,ListView,GridView,ToggleSwitch其實用法都很簡單就不一一介紹了。

相關文章
相關標籤/搜索