[英]UWP Bug with AppWindows and MediaTransportation Controls
可能与正确 UWP AppWindow 上的 ContentDialog相关
我有一个应用程序,用户可以在相机上录制他的视频,我有两个 Windows 一个核心 Window 和 AppWindow,应用程序是 UWP,WinUI 2.8
因此,当应用程序启动时,我创建了两个 windows,然后创建了自定义 MediaCapture 服务,然后显示带有记录按钮的控件,如下所示:
<controls:SwitchPresenter Value="{x:Bind IsComplete, Converter={StaticResource BoolToString}, Mode=OneWay}" >
<controls:Case Value="False">
<StackPanel Spacing="24" Margin="0 12">
<Grid BorderBrush="{x:Bind IsRecording, Converter={StaticResource BoolToRecordingConverter}, Mode=OneWay}"
BorderThickness="{x:Bind IsRecordingStarted, Converter={StaticResource BoolToThikness}, Mode=OneWay}">
<c:CameraPreviewControl Countdown="{x:Bind Countdown, Mode=OneWay}" Time="{x:Bind RecordingTime, Mode=OneWay}" IsRecording="{x:Bind IsRecording, Mode=OneWay}"/>
</Grid>
<StackPanel Orientation="Horizontal">
<!-- STATE COMMANDS -->
</StackPanel>
</StackPanel>
</controls:Case>
<controls:Case Value="True">
<StackPanel Spacing="24" Margin="0 12">
<MediaPlayerElement Source="{x:Bind VideoFile, Mode=OneWay, Converter={StaticResource StorageFileToMediaSource}}" Width="746" Height="560" Stretch="UniformToFill" FlowDirection="RightToLeft"
Style="{StaticResource MYMediaPlayerElementStyle}">
<MediaPlayerElement.TransportControls >
<!-- THATS THE PROBLEM IS -->
<MediaTransportControls Style="{StaticResource MYMediaTransportControlsStyle}">
<!-- XamlRoot="{x:Bind GetXamlRoot}" -->
IsFastForwardButtonVisible="False"
IsFastRewindButtonVisible="False"
IsNextTrackButtonVisible="False"
IsPreviousTrackButtonVisible="False"
IsRepeatButtonVisible="True"
IsRepeatEnabled="True"
IsStopButtonVisible="False"
IsPlaybackRateButtonVisible="False"
IsFullWindowEnabled="False"
IsFullWindowButtonVisible="False"
IsZoomButtonVisible="False"
IsPlaybackRateEnabled="False"
IsCompact="True"
/>
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
<StackPanel Orientation="Horizontal" Visibility="{x:Bind IsFinished, Converter={StaticResource BoolToNegatedVisibility}, Mode=OneWay}">
<!-- STATE COMMANDS (OK CANCEL BUTTONS)-->
</StackPanel>
</StackPanel>
</controls:Case>
</controls:SwitchPresenter>
因此,只要在 MediaPlayerElement 上设置 AreTransportControlsEnabled 并且小部件位于 AppWindow 实例中,我就会得到 win32 未处理的异常
如果小部件在核心 Window everthyng 按预期工作,我尝试在那里钻 XamlRoot 但没有成功...
我怀疑这可能与对话框有关,以防万一它想要打开全屏对话框时没有设置正确的 XamlRoot,但我花了两天时间才找到错误的底部,哈哈……但是接下来在同一页面上,我打开具有完全相同 StorageFile 和 MediaPlayer 元素的视频的模态,它仍然按预期工作......所以......不知道那是什么......
如果有人知道如何修复我将非常感激
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.