[英]C# UWP MediaPlayerElement Interactive Mode Event?
Microsoft Player框架有一個OnIsInteractiveChanged事件,因此我們可以確定是否顯示控件。 我似乎找不到MediaPlayerElement的類似事件。 控件可見時是否會觸發類似事件?
控件可見時是否會觸發類似事件?
當前,尚無此類事件來確定控件是否正在顯示。 它僅通過一種新屬性ShowAndHideAutomatically
以及兩種新方法Show()
和Hide()
提供了一種簡單的方法來進行管理。
如果確實要使用此功能,則可以自定義MediaTransportControls
並創建一個計時器以確定正在顯示的控件。
您會發現ControlPanelFadeIn
故事板可以使控件淡入。如果控件面板淡入, ControlPanel_ControlPanelVisibilityStates_Border
不透明度將變為0。因此,您可以創建一個計時器來確定該值。
public sealed class CustomMediaTransportControls : MediaTransportControls
{
private DispatcherTimer KeepTransportControlsVisibleTimer;
private Border ControlPanelGrid;
public CustomMediaTransportControls()
{
this.DefaultStyleKey = typeof(CustomMediaTransportControls);
KeepTransportControlsVisibleTimer = new DispatcherTimer();
KeepTransportControlsVisibleTimer.Interval = TimeSpan.FromMilliseconds(200);
KeepTransportControlsVisibleTimer.Tick += KeepTransportControlsVisibleTimer_Tick;
KeepTransportControlsVisibleTimer.Start();
}
private void KeepTransportControlsVisibleTimer_Tick(object sender, object e)
{
var opacity = ControlPanelGrid.Opacity;
System.Diagnostics.Debug.WriteLine(opacity);
// do some stuff
}
//overriding OnApplyTemplate
protected override void OnApplyTemplate()
{
ControlPanelGrid = GetTemplateChild("ControlPanel_ControlPanelVisibilityStates_Border") as Border;
base.OnApplyTemplate();
}
}
要創建自定義運輸控件,請檢查此 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.