zoukankan      html  css  js  c++  java
  • Windows Phone8.1 SDK中的新控件

    • 前言

         WP8.1对开发者的影响要远大于对用户的影响。这篇博客就来一起看看哪些WP8.0中的控件被移除或替换,这些控件的介绍在MSDN上都非常的详细,所以这里只给出一些简单的介绍,来对比8.1和8.0中的控件的差别,如果想要看控件的具体使用方法可以在MSDN上查看,之后也会给出MSDN上的链接。

    • Panorama VS Hub

         在上一篇博客中我们安装完VS2013UPDATE2RC之后,首先看到的一个变化就是Hub App。原有的Panorama控件已经不见了,Hub控件用HubSection替换掉原来的PanoramaItem,HubSection必须指定DataTemplate属性。两个控件的用法是非常类似的,需要提到的一点不同是,Hub控件如果在只有不会HubSection的情况下不会像Panorama那样可以一直朝一个方向滑,如果大于两个那就和Panorama一样了,一些属性的名称也有变化,详细信息

    <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还可以应用在地图和地点集合的示例中,详细信息

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

         对于开发者来说可能仅仅是改变了名字,其实在底层做了很多工作。WebBrowser是一个真正的Browser浮在所有页面之上,带来了很多问题。但WebView是集成在XAML虚拟树中的控件,甚至可以轻松的将XAML和HTML混合在一起使用,详细信息

    • DrawingSurface and DrawingSurfaceBackgroundGrid

         在WP8.1中我们应该使用Windows8.1中的控件SwapChainPanel,详细信息

    • MultiScaleImage

         在WP8.1中这个控件被申明为不在被推荐使用。但在WP8.1中制作图片应用时这个控件依然可以使用。

    • RichTextBox is now RichTextBlock

         这个控件仅仅是改了个名字,详细信息

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

         这是一个全新的控件,Windows8.1中也没有。有很多第三方的控件也实现了自动补全的功能,这次推出一个官方的版本。推荐的内容不再仅仅是文本,可以是任何类型的控件,但出于性能问题的考虑还是要保证推荐内容的尽可能的轻量,详细信息

    <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共享控件,通过这个控件可以做一个摄像头的查看器,可以任意设置控件的大小,详细信息

     <CaptureElement x:Name="myCaptureElement"/> 

    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其实用法都很简单就不一一介绍了。

  • 相关阅读:
    C++对象模型
    GUID 转 char *
    MFC中App,Doc,MainFrame,View各指针的互相获取
    MFC中设置某个VIEW为当前视图
    MFC中如何在CMainFrame类中访问CxxxView视图类中的成员
    GetMessage 和 PeekMessage 区别
    STL 常用容器
    收发ICMP封包,实现ping
    软件弹窗广告
    python 输入一个字符串,打印出它所有的组合
  • 原文地址:https://www.cnblogs.com/ghostwutao/p/3675318.html
Copyright © 2011-2022 走看看