ventanas navegacion modales entre ejemplos c# .net wpf media-player mediaelement

c# - navegacion - ventanas modales wpf



Cómo configurar la posición de la ventana WPF en la pantalla secundaria (2)

Tengo dos pantallas. Quiero crear un reproductor multimedia y reproducir video en pantalla completa en mi pantalla secundaria. Así que estoy tratando de hacer un reproductor multimedia usando WPF

Aquí está el código que hasta ahora escribí.

Screen[] _screens = Screen.AllScreens; System.Drawing.Rectangle ractagle = _screens[1].Bounds; //player is my window player.WindowState = WindowState.Maximized; player.WindowStyle = WindowStyle.None; player.Left = ractagle.X; player.Top = ractagle.Y; // MediaControl is an media elements MediaControl.Height = ractagle.Height; MediaControl.Width = ractagle.Width;

Pero de alguna manera solo está jugando en mi primera pantalla. Cualquier tipo de ayuda es muy apreciada.


¡5 años después! Pero para alguien más que tropieza con esto como lo hice yo ...

Si no puede o no desea agregar toda la referencia de dll de System.Windows.Forms, puede usar WpfScreenHelper by micdenny (buscar en NuGet)

Screen screen = WpfScreenHelper.AllScreens[0]; Left = screen.Bounds.Left; Top = screen.Bounds.Top; Width = screen.Bounds.Width; Height = screen.Bounds.Height;

Micdenny ha portado el asistente de pantalla de Windows Forms para WPF. Esto es excelente cuando tienes otros refs de WPF que no funcionan bien con Forms (como los Live-Charts de WPF).


WindowStartupLocation asegurarse de que WindowStartupLocation esté configurado en Manual para el formulario que está mostrando

De lo contrario, nada de lo que haga tendrá ningún efecto en la posición de la ventana.

using System.Windows.Forms; // reference System.Drawing // Screen s = Screen.AllScreens[1]; System.Drawing.Rectangle r = s.WorkingArea; Me.Top = r.Top; Me.Left = r.Left;

Este encabezado de la XAML de la ventana que utilicé.

<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="823" WindowStartupLocation="Manual"> <Canvas Width="743"> //Controls etc </Canvas> </Window>