Win10系列:VC++调用自定义组件2
(2)C#调用WinRT组件
在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C#的Windows应用商店的空白应用程序项目,并命名为FileCS。接着右键点击FileCS项目的项目名,选择"添加引用",弹出"引用管理器-FileCS"窗口,并在"解决方案"的"项目"栏中选择FilePickerComponent组件,单击"确定"按钮,将这个WinRT组件引入到项目中。
接着打开MainPage.xaml文件,指定Grid元素的Background属性为"White",并在此元素中添加如下的代码,用于布局前台界面。
<TextBlock FontSize="40" Foreground="Black" HorizontalAlignment="Left" Height="72" Margin="317,0,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="774" Text="C#中调用WinRT组件"/>
<ScrollViewer Width="774" Margin="317,72,275,352" HorizontalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" BorderBrush="LightBlue" BorderThickness="3">
<TextBlock x:Name="FileText" FontSize="35" TextWrapping="Wrap" Foreground="Black"/>
</ScrollViewer>
<Button x:Name="OpenFileButton" Click="PickFile" Content="打开文件" Margin="504,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="186"></Button>
<Button x:Name="ShowFileButton" Click="ShowFile" Content="读取文件" Margin="750,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="186"></Button>
在上面的代码中,添加一个TextBlock控件和两个按钮。其中TextBlock控件用于显示读取到的文件中的内容,两个按钮分别为"打开文件"和"读取文件","打开文件"按钮用来通过文件打开选取器选择文件,"读取文件"按钮用来将读取到的文件内容显示到TextBlock控件中。
布局了前台界面以后,接下来打开MainPage.xaml.cs文件,并添加如下的代码:
public sealed partial class MainPage : Page
{
//声明filePicker变量
FilePickerComponent.FilePicker filePicker;
public MainPage()
{
this.InitializeComponent();
//创建FilePicker类的对象
filePicker = new FilePickerComponent.FilePicker();
}
//打开文件
public void PickFile (object sender, RoutedEventArgs e)
{
filePicker.ReadFile();
}
//将文件内容显示到TextBlock
public void ShowFile (object sender, RoutedEventArgs e)
{
FileText.Text = filePicker.FileContent;
}
}
在上面的代码中,首先声明一个FilePicker类型的全局变量filePicker,接着在构造方法中实例化filePicker对象。然后为"打开文件"按钮添加单击事件处理方法PickFile,在此方法中调用filePicker对象的ReadFile方法读取文件。最后为"读取文件"按钮添加单击事件处理方法ShowFile,并在此方法中将filePicker对象的FileContent属性赋值给TextBlock控件的Text属性,从而将读取到的文件内容显示到前台界面中。
运行FileCS项目,单击"打开文件"按钮,并在文件打开选取器窗口中选取一个文本文件Text.txt,然后单击"读取文件"按钮将文本文件中的内容显示到TextBlock控件中,如图20-26所示。

图20-26 C#调用WinRT组件
Win10系列:VC++调用自定义组件2的更多相关文章
- Win10系列:VC++调用自定义组件3
(3)C++/CX调用WinRT组件 在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C++的Windows应用商店的空白应用程序项目,并命名为FileCPP.接着右键点击Fil ...
- Win10系列:VC++调用自定义组件1
通过20.9.1小节中的代码和步骤编写了一个名为"FilePickerComponent"的WinRT组件,接下来将在上一小节所新建的项目基础上,继续介绍如何在不同的语言所编写的应 ...
- 微信小程序自定义组件的使用以及调用自定义组件中的方法
在写小程序的时候,有时候页面的内容过多,逻辑比较复杂,如果全部都写在一个页面的话,会比较繁杂,代码可读性比较差,也不易于后期代码维护,这时候可以把里面某部分功能抽出来,单独封装为一个组件,也就是通常说 ...
- 微信小程序页面调用自定义组件内的事件
微信小程序页面调用自定义组件内的事件 page page.json { "usingComponents": { "my-component": ". ...
- Win系列:VC++编写自定义组件
在Visual Studio 中新建一个Visual C++的 Windows应用商店的Windows运行时组件项目,并将项目命名为FilePickerComponent.然后在项目的解决方案资源管理 ...
- Yii2.0 高级模版编写使用自定义组件(component)
翻译自:http://www.yiiframework.com/wiki/760/yii-2-0-write-use-a-custom-component-in-yii2-0-advanced-tem ...
- 微信小程序自定义组件,提示组件
微信小程序自定义组件,这里列举了一个常用的提示自定义组件,调用自定义组件中的方法和字段.仅供参考和学习. 编写组件: 在根目录下添加“components”目录,然后像添加Page页面一样添加自定义组 ...
- React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发
React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发 2016/09/23 | React Native技术文章 | Sky丶清| 4 条评论 | 1 ...
- Android自定义组件系列【7】——进阶实践(4)
上一篇<Android自定义组件系列[6]--进阶实践(3)>中补充了关于Android中事件分发的过程知识,这一篇我们接着来分析任老师的<可下拉的PinnedHeaderExpan ...
随机推荐
- JNI开发-Java从C/C++获取List集合对象
NI开发有时需要Java从C/C++获取List对象,此篇主要讲解Java从C/C++获取List<Student>返回值; 1. 定义com.niubashaoye.simple.jni ...
- Python Selenium Cookie 绕过验证码实现登录
Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...
- Spring学习笔记(入门)
1.基本看了一下,spring就是利用这个框架帮助我们实例化对象的工具.首先我们需要引入jar包,pom.xml如下: <project xmlns="http://maven.apa ...
- Memcached遇到的问题及解决办法
1. memcached make: *** No targets specified and no makefile found. Stop. 其实是因为在安装libevent时增加了版本号导致的, ...
- Can't push you anymore...
为什么我们不趁着年轻去冒险? 等我们准备好,也许都已经被生活冲淡了激情. Go to different places,to meet different people. To try, to fin ...
- centOS 6.5安装python和nginx
一.安装python3.5 1.安装python3.5
- Spring Batch 背景
在开源项目及其相关社区把大部分注意力集中在基于 web 和 SOA 基于消息机制的框架中时,基于 Java 的批处理框架却无人问津,尽管在企业 T 环境中一直都有这种批处理的需求.但因为缺乏一个标准的 ...
- HTML页面加载完毕后运行的js
Js方法:<script type=”text/javascript”> window.onload=function (){ var userName=”xiaoming”; alert ...
- js中const、let、var的区别
今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...
- Git-解释“Swap file .MERGE_MSG.swp already exists”的问题
当合并代码时非正常保存退出遇到的问题. 博客原文: https://blog.csdn.net/qq_32452623/article/details/78395832