Piszę wygaszacz ekranu w WPF. Mam działający wygaszacz ekranu, ale wyświetla się tylko na moim głównym monitorze. Czy istnieje sposób na "zaciemnienie" lub narysowanie grafiki na dodatkowych monitorach, gdy użytkownik ma wiele ekranów? Zrobiłem trochę wyszukiwania, ale nie znalazłem nic istotnego.WPF: Wiele ekranów
UPDATE
Od odpowiedzi ananthonline jest poniżej, udało mi się osiągnąć efekt „black out” na ekranach innych niż podstawowe stosując następujące okno:
<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>
i inicjowanie jednym dla każdego ekranu w App.xaml.cs
stosując następującą procedurę:
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();
}
}
Uwaga import do System.Windows.Forms
jest wymagany, aby uzyskać dostęp do klasy Screen
.
Dzięki, dokładnie to, czego potrzebowałem. –