媒体元素设置自动高度和宽度
Media Element set auto heigth and width
我有媒体元素问题。控件中有黑色区域,并且由于我在应用程序中的背景是白色,所以 id 看起来不太好。我知道没有办法改变颜色(或者我错了),但也许有办法用 xaml.
来实现
第一张图是我目前有的(橙色是视频)。第二张图片显示了我想要实现的目标。
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<MediaElement x:Name="CameraFeed" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"/>
</Grid>
以上是我的 xaml 代码 - greed 需要拉伸,因为它在 pivot 中,我希望整个 pivot 都可以拖动。有什么建议吗?
好的,经过一些测试我设法做到了。我正在发帖以防有人遇到类似问题:
最初我的 MediaElement 的可见性 属性 设置为折叠,所以我需要添加 MediaElement_Started 事件。
在我更改可见性后的这个事件中,我调用了这个函数:
public void SetMinimizedImage()
{
var naturalWidth = CameraFeed.NaturalVideoWidth;
var naturalHeigth = CameraFeed.NaturalVideoHeight;
var width = CameraGrid.ActualWidth;
var heigth = CameraGrid.ActualHeight;
if(naturalWidth < width)
{
CameraFeed.Height = naturalHeigth;
CameraFeed.Width = naturalWidth;
return;
}
var ratio = naturalWidth / width;
var heigthToSet = heigth / ratio;
CameraFeed.Height = heigthToSet;
CameraFeed.Width = width;
}
并且它设置了没有黑色区域的所需高度和宽度。 :) 如果您对此代码有任何改进,请继续告诉我!
我有媒体元素问题。控件中有黑色区域,并且由于我在应用程序中的背景是白色,所以 id 看起来不太好。我知道没有办法改变颜色(或者我错了),但也许有办法用 xaml.
来实现第一张图是我目前有的(橙色是视频)。第二张图片显示了我想要实现的目标。
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<MediaElement x:Name="CameraFeed" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"/>
</Grid>
以上是我的 xaml 代码 - greed 需要拉伸,因为它在 pivot 中,我希望整个 pivot 都可以拖动。有什么建议吗?
好的,经过一些测试我设法做到了。我正在发帖以防有人遇到类似问题:
最初我的 MediaElement 的可见性 属性 设置为折叠,所以我需要添加 MediaElement_Started 事件。
在我更改可见性后的这个事件中,我调用了这个函数:
public void SetMinimizedImage()
{
var naturalWidth = CameraFeed.NaturalVideoWidth;
var naturalHeigth = CameraFeed.NaturalVideoHeight;
var width = CameraGrid.ActualWidth;
var heigth = CameraGrid.ActualHeight;
if(naturalWidth < width)
{
CameraFeed.Height = naturalHeigth;
CameraFeed.Width = naturalWidth;
return;
}
var ratio = naturalWidth / width;
var heigthToSet = heigth / ratio;
CameraFeed.Height = heigthToSet;
CameraFeed.Width = width;
}
并且它设置了没有黑色区域的所需高度和宽度。 :) 如果您对此代码有任何改进,请继续告诉我!