3

MainWindow にペイントしようとしています。私はこのサンプルコードを使用します:

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);
        }
    }
}

MainWindow.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」というメッセージが表示されますが、何も描画されません。 MainWindow と出力

私は何を間違っていますか?

4

1 に答える 1

5

Background="Transparent"ウィンドウのXAMLで設定します。

また、基本クラスの図面(存在する場合)を描画base.OnRenderたいので、常に自分の図面の前に呼び出してください。

于 2012-05-23T06:48:31.060 に答える