又一個奇怪的WPF錯誤:WPF自定義控件XAML null錯誤
我在簡單的XAML頁面中有一個自定義控件。該項目建設和運行完美,沒有錯誤。
這裏的XAML:
<Window x:Class="Grapher2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:graph="clr-namespace:Grapher2"
Title="Grapher" Width="800" Height="600">
<StackPanel Name="container" Width="700" Height="500">
<graph:GraphCanvas x:Name="graphCanvas" Width="700" Height="500" Background="#ddd" />
</StackPanel>
但是當我嘗試在XAML設計器窗口來查看XAML頁面,我得到的消息:
"Problem Loading--The document contains errors that must be fixed..."
當我打的「重新加載設計器」鏈接,在錯誤列表中彈出一條錯誤消息:
"Object reference not set to an instance of an object"
以「graph:GraphCanvas ...」開頭的行加下劃線。
我原本是發展我們的開發服務器上,並在那裏,一切都是一樣的,除了錯誤是:
"Request for the permission of type 'System.Security.Permissions.SecurityPermission (...blah blah... failed.)"
再次,一切完美,但我不能查看的頁面XAML設計師窗口,這使我無法開發應用程序的其餘部分。
我試過清理,建築,重建以及這些命令的所有命令組合,但都沒有成功。
編輯:
請記住這是我的第一個自定義的控制,我可以做一些可怕的,可怕的錯誤。就像我說的那樣,該應用程序編譯和運行非常漂亮,所以我有點神祕。
EDIT#2:
我衍生畫布不是局部類。根據我對InitializeComponent
工作原理的瞭解(What does InitializeComponent() do, and how does it work in WPF?),沒有自動生成的部分類包含鏈接到我的控件的InitializeComponent
。同樣,除非打破XAML設計視圖,否則該控件完全沒有它。
我已經完成了你之前描述的任何事情(通常是所有「真實」研究都沒有發生的最後一次努力)。在閱讀你的文章後,我在這裏試了一下,發現我在Initialized事件的控件窗口中添加了一個KeyUp事件監聽器。顯然,設計者還運行初始化事件 - 父窗口爲空。 謝謝! – Klay 2009-10-05 13:36:51