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 + "");
Suggestions.Add(sender.Text + "");
}
}
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其实用法都很简单就不一一介绍了。
Windows Phone8.1 SDK中的新控件的更多相关文章
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变(转)
在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位?此时就要借助控件的.Anchor属性.Anchor属性定义控件的定位点位置.当控件锚定到某个 ...
- Win32 SDK程序创建一些控件(简单调用InitCommonControlsEx,并指定ICC_LISTVIEW_CLASSES控件就可以了)
在Win32 SDK中创建一些控件的时候需要注意一下(具体是哪些控件请参看MSDN文档中列出来的) /* MSDN:Carries information used to load common co ...
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- Windows 8.1 新控件和功能:
http://msdn.microsoft.com/zh-cn/library/windows/apps/bg182878.aspx#five 将 XAML 树呈现为位图: 适用于 Windows 8 ...
- C# windows服务:C#windows服务中的Timer控件的使用
C# windows服务程序中的Timer控件的使用问题是如何解决的呢? 今天和同事一起研究了下C# windows服务程序中的Timer控件的使用的写法. 我们在建立一个C# windows服务程序 ...
- VS2010中新控件的编程------颜色按钮类和颜色对话框
(1) 颜色按钮类和颜色对话框 1) 颜色对话框 MFC提供了颜色对话框类CMFCColorDialog进行颜色的选择,系统可以利用DoModal()调用,然后选择相应的颜色. CMFCCo ...
- C语言 SDK编程之通用控件的使用--ListView
一.ListView控件属于通用控件CONTROL中的一种,在SDK编程方式时要使用通用控件 必须包含comctl32.dll,所以代码中要有头文件: commctrl.h 导入库:comctl32. ...
- WPF中的image控件的Source赋值
WPF中的Image控件Source的设置 1.XAML中 简单的方式(Source="haha.png"); image控件的Source设置为相对路径后(Source=&quo ...
- 重新想象 Windows 8.1 Store Apps (76) - 新增控件: SearchBox
[源码下载] 重新想象 Windows 8.1 Store Apps (76) - 新增控件: SearchBox 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之 ...
随机推荐
- Modifiers
Sometimes it is useful for a function to modify the objects it gets as parameters. In that case, the ...
- x86_64 Ubuntu 14.04 LST安装gcc4.1.2 转载
由于编译源码软件需要用到gcc4.1.2版本,但是本机已经安装有gcc4.8.4,下载gcc4.1.2源码编译总会出现运行找不到库文件错误,或者i386和x86_64不兼容问题,在http://ask ...
- ossim系统原理与实践
本文出自 "李晨光原创技术博客" 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/1353300
- I/O系统,多线程、图形用户界面编程
多线程 进程与线程区别: 进程需要分配独立的内存空间:线程在同一内存空间中工作,可以共享同一块内存和系统资源 与Java相关的API: 1)Thread类 方法:start()启动: urn() : ...
- js 函数function的几种形式
//有的时候我们一直都在使用函数,但是却不知道函数使用的正真含义 //其中一个重要的目的是为了提高代码的复用率 //其二函数可以传递参数并有返回值 //函数声明 //不带参数,不带返回值 functi ...
- HTML中解决双击会选中文本的问题
HTML中解决双击会选中文本的问题 <div unselectable="on" style="-moz-user-select:none;" onsel ...
- tcpdump抓包
名称(NAME)tcpdump-转储网络上的数据流总览(SYNOPSIS)tcpdump[-adeflnNOpqStvx][-ccount][-Ffile] [-iinterface][-rfile] ...
- iOS 获取当前城市
1.倒入头文件 #import <CoreLocation/CoreLocation.h> 2.实现定位协议CLLocationManagerDelegate 3.定义定位属性 @pro ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(七)-- 结构化配置
本篇将记录.Net Core里颇有特色的结构化配置的使用方法. 相比较之前通过Web.Config或者App.Config配置文件里使用xml节点定义配置内容的方式,.Net Core在配置系统上发生 ...
- zend studio导入thinkphp的乱码问题
刚刚导入thinkphp有乱码还有错误怎么办? windows -> preference -> Work space -> text file encodeing设置为 UTF-8 ...