Sto scrivendo uno screensaver in WPF. Ho lo screensaver funzionante, tuttavia, viene visualizzato solo sul mio monitor principale. C'è un modo per "oscurare" o disegnare elementi grafici su altri monitor quando l'utente ha più schermi? Ho fatto qualche ricerca in giro, ma non ho trovato nulla di rilevante.WPF: schermi multipli
UPDATE
Dalla risposta di ananthonline di seguito, sono stato in grado di realizzare l'effetto "black out" sui display non primarie utilizzando la seguente finestra:
<Window x:Class="ScreenSaver.BlackOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Cursor="None" WindowStyle="None" ResizeMode="NoResize" Background="Black">
</Window>
e l'inizializzazione uno per ogni schermo nel App.xaml.cs
utilizzando il seguente processo:
foreach (Screen s in Screen.AllScreens)
{
if (s != Screen.PrimaryScreen)
{
BlackOut blackOut = new BlackOut();
blackOut.Top = s.WorkingArea.Top;
blackOut.Left = s.WorkingArea.Left;
blackOut.Width = s.WorkingArea.Width;
blackOut.Height = s.WorkingArea.Height;
blackOut.Show();
}
}
Nota un'importazione a System.Windows.Forms
è necessario per accedere alla classe Screen
.
Grazie, esattamente quello di cui avevo bisogno. –