2017-04-25 81 views
0

我正在爲MediaPlayerElement創建CustomMediaTransportControls。在這種情況下,如果我點擊FullScreen按鈕進入全屏模式,那麼在進入全屏模式後,TransportControls將被禁用。我不確定哪行代碼導致它,所以我附上了下面的整個代碼。進入全屏模式後AreTransportControlsEnabled被禁用

  1. CustomMediaTransportControls.cs - 從MediaTransportControls
  2. MediaPlayerDictionary.xaml派生類 - ResourceDictionary
  3. VideosPage.xaml.cs - C#,其中CustomMediaTransportControls已經使用的頁的一部分
  4. VideosPage.xaml - 其中CustomMediaTransportControls已使用
  5. 頁面的XAML部分
+0

我已檢查過您的代碼,但無法在沒有相關課程(如「YouTubeQuality」)的環境中進行測試。因此,是否有可能提供整個項目。 –

+0

@ NicoZhu-MSFT'YouTubeQuality'來自NuGet包[MyToolKit.Extended](https://www.nuget.org/packages/MyToolkit.Extended)。 GitHub Wiki - [YouTube](https://github.com/MyToolkit/MyToolkit/wiki/YouTube) –

回答

0

我轉載了你的問題。問題是當MediaPlayerElement是全屏時MediaPlayerElement.TransportControls找不到Page.Resources

您可以參考"Create custom transport controls"創建自定義TransportControls,並將控制模板放在generic.xaml文件或App.xaml文件中。所以這個模板是全局的,當全屏時MediaPlayerElement可以被訪問。

每個控件的默認樣式和模板在generic.xaml文件中定義。您可以通過搜索「MediaTransportControls」在generic.xaml中找到MediaTransportControls模板。

我已經將code sample上傳到github。請檢查。

+0

然後這是一個錯誤。無論如何,你的解決方案工作。謝謝 –