Uygulamam, uygulama çalışırken ve kullanıcı içeriği paylaşmak istediğinde, paylaşılan ve paylaşılan sorunlar için bir hedef uygulama. Çalışan uygulamadan bir çerçeve kullanamıyorum, çünkü "marshalling thread" istisnası alıyorum.Windows 10'da hedef Evrensel Uygulamalar Template10 yaklaşımı
uygulama farklı bir iş parçacığı için sıraya konan bir arabirimi çağırdı. \ R \ n \ r \ nFailed benziyor App.xaml.cs görsel uygulamanın kök
Benim OnStartAsync
yöntem başlatmak için bu.
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
{
switch (DetermineStartCause(args))
{
// other cases
case AdditionalKinds.Other:
if (args is ShareTargetActivatedEventArgs)
{
var shareArgs = args as ShareTargetActivatedEventArgs;
if (shareArgs.PreviousExecutionState != ApplicationExecutionState.Running)
{
Uri webUrl = await shareArgs.ShareOperation.Data.GetWebLinkAsync();
Debug.WriteLine(webUrl.AbsoluteUri);
//shareArgs.ShareOperation.ReportStarted();
NavigationService.Navigate(typeof(Views.MainPage), webUrl.AbsoluteUri);
}
else
{
await CoreApplication.Views.First().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
{
Uri webUrl = await shareArgs.ShareOperation.Data.GetWebLinkAsync();
var nav = NavigationServiceFactory(BackButton.Attach, ExistingContent.Exclude);
Window.Current.Content = new Views.ShareLaunch();
Window.Current.Activate();
});
}
}
break;
}
}
ben uygulama zaten çalışıyorsa hangi durumda yani ShareTargetActivatedEventArgs
için başka koşul nasıl işleneceğini emin değilim. Bir similar question on Stackoverlow buldum, ancak Template10 kütüphanesini kullanmıyor. Template10 kütüphanesi kullanılarak bu senaryo nasıl ele alınır.
Cevabınız için teşekkürler. Şimdi 'Window' current.Content 'ayarlamak için '' '' blok '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ı kullanıyorum. Bunu yapmanın doğru yolu mu? –
@VivekMaskara Kod çalışıyor mu? İlk 'if (shareArgs.PreviousExecutionState! = ApplicationExecutionState.Running)' 'ile ilgili emin değilim - uygulamanın nasıl daha önce askıya alındığını/sonlandırılacağını bilmediğinden emin değilim. Uygulamanızın birden çok görünümünü olup olmadığını kontrol edebilir ve ardından uygun işlemleri gerçekleştirebilirsiniz. Kodunuz dağıtıcı üzerinde çalışıyorsa - Neyi başarmak istediğinizi anlayabildiğimden emin değilim - ancak görebildiğim kadarıyla yeni bir pencere (yeni uygulama görünümü) içeriğini önceki dağıtıcı üzerinden ayarlamaya çalışıyorsunuzdur. Yapmak istediğin şey bu. – Romasz
@VivekMaskara Yeni uygulama görünümünde, 'Window.Current' ifadesinin yeni pencereye değil, eski pencereye işaret ettiğini unutmayın. – Romasz