1

                                           MediaElement

私はMediaElementの中にコントロールを持っていPopUpます。MediaElement をワイド画面にサイズ変更すると、下部の領域が切り取られます (画像を参照)。

私は何を間違っていますか?修正方法は?どうもありがとうございました!

XAML:

    <Popup PlacementRectangle="-500,0,0,0" Placement="Relative" IsOpen="True" Name="popup">
        <MediaElement Name="me" Width="480" Height="360" Volume="1"
            MouseLeftButtonUp="me_MouseLeftButtonUp"/>
    </Popup>

コード:

    bool fullscreen = false;
    private void me_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        fullscreen = !fullscreen;
        if (fullscreen)
        {
            popup.PlacementRectangle = new Rect(0, 0, 0, 0);
            popup.Placement = PlacementMode.Absolute;
            me.Width = Screen.PrimaryScreen.Bounds.Width;
            me.Height = Screen.PrimaryScreen.Bounds.Height;
        }
        else
        {
            popup.PlacementRectangle = new Rect(-500, 0, 0, 0);
            popup.Placement = PlacementMode.Relative;
            me.Width = 480;
            me.Height = 360;
        }
    }
4

2 に答える 2

3

この問題の回避策を見つけました。Popup の Child から始めて、PopupRoot 型の親が見つかるまで、ビジュアル ツリーを検索するだけです。幅と高さを好きなように設定できます。これは私のために働いた:

for (var parent = Child as FrameworkElement; parent != null; parent = VisualTreeHelper.GetParent(parent) as FrameworkElement)
{
    if (parent.GetType().Name == "PopupRoot")
    {
        parent.Width = Target.ActualWidth;
        parent.Height = Target.ActualHeight;
        break;
    }
}
于 2014-03-06T14:54:52.357 に答える
2

ポップアップが画面の 75% 以上を占めることはできません。

このスレッドを参照してください:フルスクリーンの WPF ポップアップを作成できません

于 2013-08-21T14:01:24.120 に答える