Win10系列:VC++数据绑定】的更多相关文章

原文:WPF编游戏系列 之五 数据绑定        在上一篇通过用户控件将重复使用的控件封装为一个控件组,大大减少了C#代码数量,本篇继续对该控件组进行数据绑定,节省为每个控件赋值的工作.对于数据绑定具体内容的在这里就不多说了,有许多相关资料可以参考,博客园的达人们肯定也有相关教程. 1. 创建一个GoodsInfo类,其中包括GoodsImage.GoodsPrice.GoodsQty.GoodsBuyImageTag 这四个属性. using System; namespace XMark…
数据绑定是一种将后台数据绑定到前台控件的机制,通常用于动态地将对象或集合中所保存的数据显示到前台界面中.本节通过一个具体的示例来说明在Windows应用商店应用中如何通过数据绑定将保存在集合中的数据显示到前台界面中. 在Visual Staudio 2012中新建一个Visual C++的Windows应用商店的空白应用程序项目,并命名为BindingDemo.接着打开MainPage.xaml.h头文件,添加如下的代码: //定义类FeedItem [Windows::UI::Xaml::Da…
(4)Render函数 默认定义在CubeRenderer.cpp源文件中的Render函数用于绘制立体图形,此函数的实现代码如下所示: void CubeRenderer::Render() {     //背景色     const float midnightBlue[] = {0.098f,0.098f,0.439f,1.000f};     //设置背景     m_d3dContext->ClearRenderTargetView(         m_renderTargetVie…
使用数据绑定可以使页面中元素的属性值与数据源中的数据同步,其中数据源可以来自数据库.文件以及自定义的数据等.在常用的数据绑定方法中,简单对象绑定是将HTML元素与一个仅包含数据的简单对象相绑定,模板绑定是使用WinJS库模板来绑定数据.下面首先介绍简单对象绑定. 19.3.1 简单对象绑定 简单对象绑定是一种基本的绑定类型,可以实现将一个对象中的数据绑定到HTML元素的属性.下面通过一个示例来演示如何使用HTML5和JavaScript开发一个实现简单对象绑定的Windows应用商店应用程序.在…
(3)C++/CX调用WinRT组件 在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C++的Windows应用商店的空白应用程序项目,并命名为FileCPP.接着右键点击FileCPP项目的项目名,选择"引用",弹出"FileCPP属性页"窗口,在此窗口中单击"添加新引用"按钮,并在出现的"添加引用"窗口中勾选"解决方案"的"项目"栏中的FilePickerCom…
(2)C#调用WinRT组件 在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C#的Windows应用商店的空白应用程序项目,并命名为FileCS.接着右键点击FileCS项目的项目名,选择"添加引用",弹出"引用管理器-FileCS"窗口,并在"解决方案"的"项目"栏中选择FilePickerComponent组件,单击"确定"按钮,将这个WinRT组件引入到项目中. 接着打开Mai…
通过20.9.1小节中的代码和步骤编写了一个名为"FilePickerComponent"的WinRT组件,接下来将在上一小节所新建的项目基础上,继续介绍如何在不同的语言所编写的应用中调用这个WinRT组件. (1)JavaScript调用WinRT组件 在解决方案资源管理器中右键点击解决方案图标,选择添加一个JavaScript的Windows应用商店的空白应用程序项目,并命名为FileJS.接着右键点击FileJS项目的项目名,选择"添加引用",弹出"…
通过前面的介绍,相信读者已经了解了如何新建一个用于开发Direct3D应用程序的项目模版,以及这个项目模版中用于绘制立体图形的主要函数.在本小节中,将通过一个具体的示例来介绍如何使用Visual Studio提供的Direct3D项目模版来绘制一个立体三角形,并使此立体三角形绕X轴进行旋转. 在Visual Studio中新建一个Visual C++的Windows应用商店的Direct3D应用程序项目,将其命名为Direct3DDraw.打开CubeRenderer.cpp源文件,修改Crea…
(3)CreateDeviceResources函数 CreateDeviceResources函数默认添加在CubeRenderer.cpp源文件中,此函数用于创建着色器和立体图形顶点.接下来分别介绍CreateDeviceResources函数中用于创建着色器和立体图形顶点的具体实现代码,首先来看创建着色器的代码. 在介绍CreateDeviceResources函数中用于创建着色器的实现代码之前,首先来了解在创建着色器的过程中将会用到的变量,这些变量声明在了CubeRenderer.h头文…
Visual Studio为开发Direct3D应用程序提供了便捷的模版,读者可以不必手动去新建Direct3D中所使用到的基础资源,而只需专注于图形的绘制.本小节主要为读者介绍这个模版中用于绘制图形的主要函数及其功能,为了能让读者更为清楚地了解如何使用此模版绘制三维立体图形,下面的介绍将分为四部分,其中第一部分介绍在Visual Staudio 2012中如何新建Direct3D项目模版,第二部分介绍Direct3D项目模版中用于设置观察视点的函数和设置投影矩阵的函数,第三部分紧接着来介绍Di…
在介绍如何使用Direct3D项目模版来绘制立体图形之前,首先为读者介绍在Direct3D应用程序开发过程中涉及到的一些常用概念. (1)资源 资源是指可以被Direct3D图形管线所访问的内存空间,Direct3D使用资源来存储输入输出数据,如几何.纹理和着色数据.在Direct3D图形管线中将资源分为缓存资源和纹理资源,这些资源的具体含义如下: 缓存资源,是一组指定类型的数据集合,分为顶点缓存.索引缓存和常量缓存.其中顶点缓存用于存储顶点的位置.法线.纹理和颜色等数据,索引缓存用于存储顶点的…
20.7.2小节介绍了如何使用Direct2D在应用窗口中绘制图片,本小节将基于20.7.2小节的项目进一步介绍如何实现文本的绘制.打开D2DBasicAnimation.h头文件,并在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量textLayout     Microsoft::WRL::ComPtr<IDWriteTextLayout> textLayout;     //声明成员变量textFormat     Microsoft::…
在使用Direct2D绘制图片的过程中,通过IWICImagingFactory工厂接口来得到绘制图片所需要的资源.本小节将介绍如何通过IWICImagingFactory工厂接口得到这些资源,并使用这些资源在应用窗口中绘制一张图片.在20.7.1小节所新建的Direct2DDemo项目基础上,继续介绍绘制图片的实现代码. 在绘制图片之前,首先需要在项目中添加一张图片.右键点击解决方案资源管理器窗口中的项目图标,在弹出的菜单栏中选中"添加",并在"添加"的子菜单栏中…
打开D2DBasicAnimation.h头文件,并在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量point     D2D1_POINT_2F point;     //声明成员变量xVector     float xVector;     //声明成员变量yVector     float yVector; 在上面的代码中,使用private关键字声明了三个私有的成员变量point.xVector.yVector,其中point为D2D…
三角形绘制完成以后,接下来介绍如何给项目添加主入口函数.打开D2DBasicAnimation.h头文件,添加如下的代码定义一个DirectXAppSource类. //定义类DirectXAppSource,实现IFrameworkViewSource接口 ref class DirectXAppSource : Windows::ApplicationModel::Core::IFrameworkViewSource { public:     //实现IFrameworkViewSourc…
在绘制三角形之前,首先需要创建一个三角形,打开D2DBasicAnimation.h头文件,在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量objectGeometry     Microsoft::WRL::ComPtr<ID2D1PathGeometry> objectGeometry; private:     //创建图形     void CreateShape(); 在上面的代码中,使用private关键字声明一个私有的成员变量o…
新建了Direct2D中的资源后,接下来初始化用于绘制图形的应用窗口.在解决方案资源管理器窗口中右键点击项目图标,在弹出的菜单栏中选中"添加", 并在"添加"的子菜单栏中选择"新建项",在出现的"添加新项"窗口中选中"C++ 文件(.cpp)",添加名为"D2DBasicAnimation.cpp"的源文件.然后使用同样的方法在"添加新项"窗口中选中"头文件…
本小节主要介绍如何使用Direct2D来绘制几何图形,其中会使用到FillGeometry函数和FillEllipse函数,FillGeometry函数用于填充几何图形的内部区域,而FillEllipse函数则专门用于填充椭圆的内部区域.下面将分别来介绍如何使用FillGeometry函数和FillEllipse函数在应用窗口中绘制简单的三角形和圆形. 1.使用FillGeometry函数绘制三角形 本示例中所要添加的代码比较多,为了让读者能更为清晰地了解如何使用Direct2D绘制几何图形,下…
(7)音量控制 MediaElement控件具有一个Volume属性,通过设置此属性的值可以改变视频音量的大小.接下来介绍如何实现视频的音量控制,首先打开MainPage.xaml文件,并在Grid元素中原有代码的基础上继续添加如下的代码: <TextBlock Margin="543,12,0,0" FontSize="15" HorizontalAlignment="Left" Text="音量:" Width=&q…
(5)添加视频进度条 视频进度条可以用来显示当前视频的播放进度,并可以通过拖动视频进度条来改变视频的播放进度.接下来介绍如何实现视频进度条,首先打开MainPage.xaml文件,并在Grid元素中添加一个名为"VideoSlider"的Slider控件,用来表示一个视频进度条,代码如下所示: <Slider x:Name="VideoSlider" HorizontalAlignment="Left" Height="40&qu…
在MediaElement控件中定义了用于控制视频播放的函数,如Play.Pause和Stop等函数.本小节将在20.6.1小节所新建的项目基础上继续来介绍如何为视频添加播放控制,并在最后一部分给出项目的完整前台代码,读者可以参照此代码来布局前台界面. (1)启动视频播放 首先打开MainPage.xaml文件,并在Grid元素中原有代码的基础上继续添加如下的代码: <TextBlock x:Name="VideoState" Margin="114,13,0,0&qu…
(3)停止视频播放 接下来添加对视频文件播放的停止控制,打开MainPage.xaml文件,并在Grid元素中添加一个"停止"按钮,用于停止视频的播放,代码如下所示: <Button x:Name="StopButton" Click="StopClick" HorizontalAlignment="Left" Margin="10,0,10,0" Content="停止" Gri…
媒体播放包括视频播放和音频播放,在开发Windows应用商店应用的过程中可以使用MediaElement控件来播放视频文件和音频文件.本节将通过一个具体的示例介绍如何使用MediaElement控件来播放视频文件,以及如何控制MediaElement控件中视频的播放. 20.6.1 视频载入 首先来看如何读取一个视频文件并载入到MediaElement控件中,在Visual Staudio 2012中新建一个Visual C++的Windows应用商店的空白应用程序项目,并命名为FileDemo…
XML文件按照元素标记来存储数据,通过遍历这些元素标记可以得到XML文件中所保存的数据.在C++/CX的类库中并未定义用于解析XML文件的类,但C++提供了能解析XML文件的框架和类库,如msxml4.libxml.IXMLDOM和TinyXML等,在使用C++/CX编写应用程序时可以通过C++提供的框架和类库来解析XML文件.TinyXML是一个轻量级解析XML的框架,本节将介绍如何使用此框架来解析一个XML文件. TinyXML框架包含了以下的类和函数,通过使用这些类和函数可以方便地读取一个…
在C++/CX的Windows::Storage::Pickers命名空间中定义了一个FileOpenPicker类,使用此类可以新建一个文件打开选取器,并可以通过这个类里面包含的属性和函数选取一个或多个文件.下面列举了FileOpenPicker类包含的属性: ViewMode属性,用于设置文件打开选取器的视图模式,此属性的值包括List(列表模式)和Thumbnail(缩略图模式). SuggestedStartLocation属性,用于设置文件打开选取器的初始位置,此属性的值包括Docum…
计时器机制俗称"心跳",表示以特定的频率持续触发特定事件和执行特定程序的机制.在开发Windows应用商店应用的过程中,可以使用定义在Windows::UI::Xaml命名空间中的DispatcherTimer类来创建计时器.DispatcherTimer类包含了如下的成员: Tick事件,周期性触发的事件. Start函数,用于启动计时器. Stop函数,用于停止计时器. Interval属性,设置触发Tick事件的时间周期,此属性值的类型为TimeSpan. 简单介绍了Dispat…
由于最近需要在win10系统下用到vc++来编程(其实刚开始我是拒绝的,因为vc++各种坑),下面我就把安装vc++时遇到的问题记录下来,方便以后同样遇到这些问题的同学. 安装vc++6.0所需要东西:下载地址 密码:8hlf 遇到的问题 vc++6.0安装完成后,点击快捷方式启动后,报0xc0000142 错误,原因是win10不兼容中文版的vc. 解决办法:用用英文版MSDEV.EXE替换中文版的MSDEV.EXE启动程序.启动文件的路径默认是在:C:\Program Files (x86)…
这篇博客将展示WPF DataBinding的内容. 首先看一下WPF Data Binding的概览, Binding Source可以是任意的CLR对象,或者XML文件等,Binding Target需要有依赖属性.这样便可以进行Data Binding.请看下面的示例, C# public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new Pe…
Telerik UI Controls for Windows 8 Telerik UI Controls for Windows 8是一套为创建Windows UWP应用而设计的工具集,开发人员可以将其中所提供的控件应用到Windows UWP应用中.按照4.7.1节介绍的步骤搜索并安装此扩展控件后,当在Visual Studio中打开设计器时, 工具箱窗口中会出现名为Telerik RadControls for Windows 8的工具集,其中包括图表.日期选取器.仪表盘等多种控件,下面将…
ListView控件 ListView控件的常用方式是与后台数据进行绑定,并将所绑定的数据内容与前端界面布局相结合,按照特定的顺序将数据集合以列表形式展示在界面当中,如电子邮件列表或搜索结果列表等. 在XAML文件中,ListView控件的用法如下所示: <ListView.../> -或- <ListView...> <!--添加一个或多个组件--> </ListView> 下面介绍一下ListView控件的常用属性: Header属性,获取或设置List…