gpt4 book ai didi

c# - 根据纵横比居中媒体元素

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:50 26 4
gpt4 key购买 nike

因此,我得到了这个媒体元素,我希望它出现在屏幕中间,距离每条边缘 20 像素,当它的宽度达到 600 时,它停止扩展并保持原样。我有以下 XAML 来获得我想要的:

<Grid x:Name="video">
<MediaElement x:Name="player" AreTransportControlsEnabled="True" Margin="20,0" MaxWidth="600" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>

唯一的问题是 VerticalAlignment 属性似乎总是​​设置为“Stretch”。我怎样才能解决这个问题?我试过使用一个 viewbox,它可以完美地工作,但我会得到过大或过小的 TransportControls。我也试过将 mediaelement 放在另一个居中对齐的网格中,但我仍然遇到同样的问题。

最佳答案

你想要的是

20 pixels away from each edge.

但是在你的代码中你定义了Margin="20,0" , 如果你阅读 FrameworkElement.Margin property , 你会发现用法 <frameworkElement Margin="left+right,top+bottom"/> .使用您的代码,这种用法使您的 MediaElement在垂直方向拉伸(stretch)。

如果您使用 Live Visual Tree要实时查看正在运行的 XAML 代码,您会发现,当您使用代码时 Margin="20,0" , MediaElement是这样的: enter image description here

如果您使用代码 Margin="20" , MediaElement是这样的: enter image description here

每张图中的红色虚线框代表MediaElement控制。

关于c# - 根据纵横比居中媒体元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com