Я заметил, что при переопределении метода System.Windows.Window OnRender не удается нарисовать на экране. Я уверен, что есть веская причина для этого, но не смог найти объяснения.
Следующий код демонстрирует это:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace WpfApplication1
{
public partial class Window1 : Window
{
Pen pen = new Pen();
public Window1()
{
InitializeComponent();
pen.Brush = Brushes.Black;
}
protected override void OnRender(DrawingContext dc)
{
base.OnRender(dc);
dc.DrawRectangle(Brushes.Black, pen, new Rect(0, 0, 600, 400));
dc.DrawEllipse(Brushes.Green, pen, new Point(300, 300), 50, 50);
}
}
}
замена логики рисования в FrameworkElement (затем установка элемента в качестве содержимого окна) работает нормально.
спасибо,
Danny