C# 媒体播放器控制拉伸以适应窗口大小

C# 媒体播放器控制拉伸以适应窗口大小,c#,wpf,size,media-player,windows-media-player,C#,Wpf,Size,Media Player,Windows Media Player,我使用以下代码加载媒体并使用媒体播放器控件显示: MediaPlayer Player = new MediaPlayer(); Player.Open(new Uri(videoURI, UriKind.Absolute)); VideoDrawing aVideoDrawing = new VideoDrawing(); aVideoDrawing.Rect = new Rect(0, 0, 100, 100); aVideoDrawing.Player = Player; DrawingB

我使用以下代码加载媒体并使用媒体播放器控件显示:

MediaPlayer Player = new MediaPlayer();
Player.Open(new Uri(videoURI, UriKind.Absolute));
VideoDrawing aVideoDrawing = new VideoDrawing();
aVideoDrawing.Rect = new Rect(0, 0, 100, 100);
aVideoDrawing.Player = Player;
DrawingBrush brush = new DrawingBrush(aVideoDrawing);
this.Background = brush;
无论我播放的电影大小如何,它都会延伸到1920x1080(窗口大小)。
我希望它是在原来的全尺寸,如果高度/宽度小于1920/1080它将中心的视频

因为没有身体控制,我不知道怎么做

非常感谢您的帮助。

尝试以下方法:

将两个字段添加到类级别:

MediaPlayer Player;
VideoDrawing aVideoDrawing;
在构造函数中添加以下代码:

Player = new MediaPlayer();
Player.MediaOpened += Player_MediaOpened;
Player.Open(new Uri(videoURI, UriKind.Absolute));
aVideoDrawing = new VideoDrawing();                    
aVideoDrawing.Player = Player;
DrawingBrush brush = new DrawingBrush(aVideoDrawing);
brush.Stretch = Stretch.None;
this.Background = brush;
在MediaOpen事件处理程序中,设置适当的大小:

void Player_MediaOpened(object sender, EventArgs e)
{
    if (Player.NaturalVideoWidth <= 1920 && Player.NaturalVideoHeight <= 1080)
        aVideoDrawing.Rect = new Rect(0, 0, Player.NaturalVideoWidth, Player.NaturalVideoHeight);
    else
        aVideoDrawing.Rect = new Rect(0, 0, 1920, 1080);
}
void Player\u媒体已打开(对象发送方,事件参数e)
{

if(Player.NaturalVideoWidth不
brush.Stretch=Stretch.None;
help?工作正常。谢谢。