簡體   English   中英

媒體元素在底部WPF上被剪切

[英]Media Element is cut on the bottom WPF

我在MediaElement中顯示視頻時遇到問題。

我嘗試將MediaElement放在Grid中,以便可以使用他的大小:

<Grid Grid.Row="1" Name="RootMediaElement"
      Margin="10 10 10 10">
    <MediaElement
    ClipToBounds="True"
    x:Name="MediaPlayer"
    HorizontalAlignment="Center"
    Stretch="UniformToFill"
    LoadedBehavior="Manual"
    Source="{Binding Source}">
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MediaEnded">
                <i:InvokeCommandAction Command="{Binding MediaEndedCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </MediaElement>
</Grid>

我還將ClipToBound屬性設置為true,這也沒有幫助。 我看不到視頻的底部。 另外還有SizeChanged事件,該事件會在開始時觸發,我嘗試如下手動設置寬度和高度:

 MediaPlayer.SizeChanged += (sender, args) =>
            {
                var x = sender as MediaElement;
                MediaPlayer.Height = RootMediaElement.ActualHeight;
                MediaPlayer.Width = RootMediaElement.ActualWidth;

            };

我讀了太多書,找不到解決方法。 有人知道嗎 ?

編輯:父網格設置

<Grid>
<Grid.RowDefinitions>
            <RowDefinition Height="105" /> <!-- First row-->
            <RowDefinition Height="895" /> <!-- Second row -->
</Grid.RowDefinitions>

<!-- Media is places inside RootMediaElement Grid which take whoole second row -->
</Grid>

我已經測試過您的xaml,您可能要添加它

VerticalAlignment="Center"

到MediaElement,但請記住,視頻將被放大

編輯:您為兩行指定了一個高度值,這意​​味着它們在調整窗口大小時不會改變,因此您應該

將窗口的最小高度設置為第1行的高度+第2行的高度+邊距(RootMediaGrid) (1030px):

MinHeight="1030"

或僅將第二行高度設置為:

<RowDefinition Height="*" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM