(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组件