2012-11-06 34 views
6

Trước hết, tôi đang chia sẻ nội dung từ cửa sổ ứng dụng 8 metro của tôi cho một ứng dụng khác (ví dụ: ứng dụng Mailto) như vậy:Có thể đặt chủ đề cho ứng dụng thư trong ứng dụng Windows 8 metro, nếu tôi đang sử dụng hợp đồng chia sẻ và chia sẻ tệp?

Bây giờ tôi đang chia sẻ tệp với ứng dụng mailto bằng cách chia sẻ và chia sẻ tệp từ ứng dụng của tôi,

tôi muốn biết nếu: -

  1. tôi có thể thiết lập tùy thuộc vào các tập tin mailto ứng dụng mà tôi đang chia sẻ như một attachement với ứng dụng mailto, nếu có thì xin vui lòng cho tôi biết làm thế nào tôi có thể làm cái này?

  2. Nếu không, vui lòng cho tôi biết công việc xung quanh là gì?

Trả lời

3

Hiện tại, không thể thực hiện được.

Windows 8 gần đây đã giới thiệu một API mới có tên là kích hoạt giao thức. Với kích hoạt Giao thức, bạn có thể khởi chạy các cửa sổ khác 8 ứng dụng từ ứng dụng của mình và chuyển dữ liệu. Microsoft đã làm việc trên ứng dụng Maps và bây giờ bạn có thể chuyển thông tin đến các ứng dụng bản đồ như trình bày ở đây (URI Scheme cho các ứng dụng bản đồ) http://msdn.microsoft.com/en-us/library/windows/apps/jj635237.aspx

Xem hương mã tại http://blog.jerrynixon.com/2012/10/walkthrough-using-windows-8-custom.html

Bây giờ, tôi chắc chắn rất sớm, bạn sẽ xem một số thông số tùy chỉnh cho ứng dụng Thư mà bạn có thể chuyển từ ứng dụng của mình bằng cách kích hoạt giao thức.

Chỉ cần tôi 2 cent

1

Không, không thể thực hiện việc này vào lúc này.

1

Tôi có thể không được tìm hiểu những câu hỏi một cách chính xác nhưng nếu tất cả các bạn muốn làm là có khả năng nhấp vào nút "Share" trên Charms Bar, sau đó chọn "Mail "ứng dụng và có khả năng điền vào dòng chủ đề được hiển thị khi hiển thị thông báo chia sẻ của ứng dụng" Thư "sau đó bạn có thể thực hiện theo phương pháp này:

private DataTransferManager dataTransferManager; //class member 

// put the following code block wherever you need it: 

// Register as a share source 
if (this.dataTransferManager == null) 
{ 
    this.dataTransferManager = DataTransferManager.GetForCurrentView(); 
    this.dataTransferManager.DataRequested -= this.OnDataRequested; 

    try 
    { 
     this.dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.OnDataRequested); 
    } 
    catch 
    { 
    }; 
} 

private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e) 
{ 
    DataRequest request = e.Request; 
    DataRequestDeferral deferal = request.GetDeferral(); 

    try 
    { 
     // this property will set your subject line 
     // it will also be shown on the Share fly-out (right below the main 
     // heading that says 'Share' 
     request.Data.Properties.Title = GetCustomMailSubjectLine(); 

     if (string.IsNullOrEmpty(request.Data.Properties.Title)) 
     { 
      request.FailWithDisplayText("An operation failed. Please try again."); 
     } 
     else 
     { 
      // this will also be shown on the Share fly-out, right below the 'Title' 
      // property set above 
      request.Data.Properties.Description = GetMyAppsSharingDesciption(); 

      // use request.Data.SetDataProvider() if your data needs to be asynchronously retrieved 
      // otherwise directly use request.Data.SetData() (or one of the other 
      //methods depending on what you need) 

      request.Data.SetDataProvider(StandardDataFormats.Html, RetrieveSharedData); 
     } 
    } 
    finally 
    { 
     deferal.Complete(); 
    } 
} 

private async void RetrieveSharedData(DataProviderRequest request) 
{ 
    DataProviderDeferral deferal = request.GetDeferral(); 

    try 
    { 
     // this will set your email's body 
     request.SetData(await GetCustomMailBodyAsync()); 
    } 
    finally 
    { 
     deferal.Complete(); 
    } 
} 
Các vấn đề liên quan