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>