我正在为MediaPlayerElement创建CustomMediaTransportControls。在这我想要一个按钮来创建CompactOverlay框架,所以我将下面的代码添加到public sealed class CustomMediaTransportControls : MediaTransportControls
。尝试读取或写入受保护的内存。这通常表示其他内存已损坏
public async void CompactOverlayButton_ClickAsync(object sender, RoutedEventArgs e)
{
await CoreApplication.CreateNewView().Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() =>
{
var frame = new Frame();
compactViewId = ApplicationView.GetForCurrentView().Id;
frame.Navigate(typeof(VideoPlayerPage));
Window.Current.Content = frame;
Window.Current.Activate();
ApplicationView.GetForCurrentView().Title = "";
});
bool viewShown = await ApplicationViewSwitcher.TryShowAsViewModeAsync(compactViewId, ApplicationViewMode.CompactOverlay);
}
但是,当我使用这些代码时,我在XAML部分中收到错误消息。 如果我没有使用上述功能,则不会有错误。
解决方案的尝试:
在PowerShell中
运行netsh winsock reset
结算解决方案和重建方案
仅供参考:
这里是我的全部代码
- CustomMediaTransportControls.cs -
ResourceDictionary
- MediaPlayerDictionary.xaml - 从
MediaTransportControls
派生类 - VideosPage.xaml - 页面,
CustomMediaTransportControls
已使用
'CustomVideoControls'是你开发的东西吗?它是否使用了不安全的{}块? – Milney
@Milney我会附上问题 –
中的全部代码,你能提供完整的xaml代码吗? – Hannes