2012-05-23 62 views
3

的主窗口我儘量畫在我的主窗口。我使用這個樣本代碼:繪畫在WPF

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 and Output

我在做什麼錯?

+0

設置'背景= 「透明」'在窗口的XAML。並且總是在你自己的圖紙之前調用'base.OnRender',因爲你想在*基類圖紙(如果有的話)上畫*。 – Clemens

+1

@Clemens謝謝,你想發佈回覆? – David

回答

5

Background="Transparent"在窗口的XAML。

並始終在您自己的圖紙之前撥打base.OnRender,因爲您想繪製而不是基本類圖紙(如果有)。