Я бы нарисовал прямоугольник на рабочем столе из моего приложения WPF. Я искал, но я не нашел хорошего решения и хорошего примера. Я бы нарисовал прямоугольник по краям экрана и изменил его цвет, когда что-то случилось.Рисовать на рабочем столе из приложения WPF
Как я могу это сделать правильно?
Я нашел этот код:
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Runtime.InteropServices;
class Program {
[DllImport("User32.dll")]
static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]
static extern void ReleaseDC(IntPtr dc);
static void Main(string[] args) {
IntPtr desktop = GetDC(IntPtr.Zero);
using (Graphics g = Graphics.FromHdc(desktop)) {
g.FillRectangle(Brushes.Red, 0, 0, 100, 100);
}
ReleaseDC(desktop);
}
}
Но я не консольное приложение, и я не понимаю, как я могу перекрасить/обновить мой прямоугольник или изменить его цвет из этого кода.
спасибо.
Хотя я принимаю вашу общую точку зрения, ваш ответ не является строгим. Графика * может * по-прежнему рисоваться таким образом, используя класс DrawingContext. См. Раздел «Рисование содержимого в разделе« Визуальный слой »в разделе [Обзор рендеринга WPF-графики] (http://msdn.microsoft.com/en-us/library/ms748373 (v = vs.110) .aspx) на MSDN , Конечно, код * точного * пользователя не может использоваться в WPF. – Sheridan
@Sheridan Я знаю, я упомянул «DrawingVisual», метод которого «RenderOpen()» возвращает «DrawingContext». Во всяком случае, это не GDI. –