System.Windows.Window OnRender 메서드를 재정의 할 때 화면에 그려지지 않을 때 나타났습니다. 좋은 이유가 있지만 설명을 찾을 수 없었습니다.WPF 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에서 도면 로직 교체 잘 작동한다.
덕분에,
대니 단지 수표로
"이유를 모르겠다"는 질문에 실제로 대답하지 않으며이 수정은 MVVM을 사용하는 ItemsControl 파생 제품에서 작동하지 않습니다. – user3690202