3

我尝试在我的 MainWindow 上绘画。我使用这个示例代码:

主窗口.xaml.cs

namespace WpfApplication4
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        protected override void OnRender(DrawingContext drawingContext)
        {
            Trace.WriteLine("OnRender");

            drawingContext.DrawRectangle(Brushes.Red, new Pen(Brushes.Black, 5), new Rect(20, 20, 250, 250));

            base.OnRender(drawingContext);
        }
    }
}

主窗口.xaml

<Window x:Class="WpfApplication4.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="400" Width="600">
</Window>

在输出窗口中,我看到消息“OnRender”,但没有绘制任何内容。 主窗口和输出

我究竟做错了什么?

4

1 回答 1

5

Background="Transparent"在 Window 的 XAML 中设置。

并且总是在您自己的图纸之前调用,因为base.OnRender您想绘制基类图纸(如果有的话)。

于 2012-05-23T06:48:31.060 回答