WinRT的App间共享数据

目标和源App通过DataPackage传输数据:

public sealed class DataPackage {
public DataPackage(); // Constructs a new DataPackage object
// Use to set properties (ApplicationName, Title, Description, Thumbnail, etc.)
public DataPackagePropertySet Properties { get; }
// Optional: Use this to indicate why you're sharing the package (None, Copy, Move, Link)
public DataPackageOperation RequestedOperation { get; set; }
// Call SetData several times to add the same content in different formats
public void SetData(String formatId, Object value);
// These methods are simple, type-safe wrappers over SetData for common types:
public void SetText(String value);
public void SetRtf(String value);
public void SetHtmlFormat(String value); // See WinRT's HtmlFormatHelper class
public void SetBitmap(RandomAccessStreamReference value);
public void SetApplicationLink(Uri value);
public void SetWebLink(Uri value);
public void SetStorageItems(IEnumerable<IStorageItem> value);
public void SetStorageItems(IEnumerable<IStorageItem> value, Boolean readOnly);
// When adding HTML with references to content inaccessible to the target app,
// add each URI and RandomAccessStreamReference to the ResourceMap so the target app can
// access the content.
// Example: If HTML has <img src="ms-appx:///Images/Photo.jpg"/> do this:
// String imgSrc = "ms-appx:///Images/Photo.jpg";
// ResourceMap.Add(imgSrc, RandomAccessStreamReference.CreateFromUri(new Uri(imgSrc)));
public IDictionary<String, RandomAccessStreamReference> ResourceMap { get; }
// Optional: Raised after target app pastes data (source app can delete content if desired)
public event TypedEventHandler<DataPackage, OperationCompletedEventArgs> OperationCompleted;
// Optional: Raised after DataPackage is GC'd. This allows the source app
// to delete content (such as a temporary file) if desired:
public event TypedEventHandler<DataPackage, Object> Destroyed;
// Sets a delegate to handle requests from the target app
// (see "Delayed rendering of shared content")
public void SetDataProvider(String formatId, DataProviderHandler delayRenderer);
// Returns a read-only version of the DataPackage object (this is what target apps get)
public DataPackageView GetView();
}

支持的格式如下:

public static class StandardDataFormats {
public static String Text { get; } // "Text"
public static String Rtf { get; } // "Rich Text Format"
public static String Html { get; } // "HTML Format"
public static String Bitmap { get; } // "Bitmap"
public static String ApplicationLink { get; } // "ApplicationLink"
public static String WebLink { get; } // "UniformResourceLocatorW"
public static String StorageItems { get; } // "Shell IDList Array"
}

用户也可以自己定义数据格式,具体描述见http://schema.org 和https://github.com/AndreiMarukovich/Transhipment


还可以通过剪贴板共享:

// Static class since there is only one system clipboard
public static class Clipboard {
// Methods called by share source apps:
public static void Clear(); // Puts an empty DataPackage on the clipboard
public static void SetContent(DataPackage content); // Replaces any existing content
public static void Flush(); // Keeps content on clipboard even if app terminates
// Methods called by share target apps:
public static DataPackageView GetContent(); // Returns read-only view of DataPackage
// Raised when contents change (target apps use this to know if paste is possible)
public static event EventHandler<object> ContentChanged;
}

必须通过UI线程访问Clipboard:

private void PutDataPackageOnClipboard(DataPackageOperation operation) {
DataPackage dp = new DataPackage();
// Set desired properties:
dp.Properties.ApplicationName = Package.Current.DisplayName;
dp.Properties.Title = "DataPackage Title";
dp.Properties.Description = "DataPackage Description";
dp.RequestedOperation = operation; // None, Copy, Move, or Link
// Add desired data formats:
dp.SetText(m_txt.Text); // Pulling text from a TextBox control
// Optional: register event handlers:
dp.OperationCompleted += OnShareCompleted; // Mandatory for Move so source can delete data
dp.Destroyed += OnDataPackageDestroyed;
// Put DataPackage on clipboard. NOTE: The Clipboard makes a copy of the package;
// changes made to the DataPackage object do not impact what's already on the clipboard.
Clipboard.SetContent(dp);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值