我有媒体元素问题。控件中有黑色区域,因为我在应用程序中的背景是白色ID看起来不太好。我知道没有办法变色(或者说我错了),但也许有一种方法可以用xaml实现这一点。
第一张照片是我当前拥有的(橙色是视频)。第二张图片显示了我想要实现的目标。
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<MediaElement x:Name="CameraFeed" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"/>
</Grid>
上面是我的xaml代码 - 贪婪需要拉伸,因为它处于枢轴状态,我希望整个枢轴可以拖动。有什么建议吗?
答案 0 :(得分:0)
经过一些测试后我设法做到了。如果有人遇到类似的问题我会发帖:
最初,我的MediaElement将Visibility属性设置为Collapsed,因此我需要添加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;
}
它设定了黑色区域所需的高度和宽度。 :)如果您对此代码有任何改进,请继续告诉我!