2010-04-05 35 views
0

我在Silverlight 3中使用NavigationFramework,並且遇到了我正在加載的xaml中UserControl的構造函數未被調用的問題,而且我相信這是因爲我調用的xaml中的UserControl實際上是從另一個用戶控件派生的。Silverlight中的導航框架3當用戶控件是派生類型時跳過構造函數

我已經通過具有特定中斷點的調試器,並且構造函數被忽略completey。

我有MyWindowBlue類型爲uctrlBaseMyWindow。

uactrlBaseMyWindow的構造函數在xaml「導航到」時被調用,但MyWindowBlue的構造函數被忽略。

如果我直接通過標記添加用戶控件,情況並非如此。

其他人有這個問題嗎?

我使用的導航到MyWindowBlue的代碼是

  this.MyContentFrame.Navigate(new Uri("/Controls/uctrlMyWindowBlue.xaml", UriKind.Relative)); 

有沒有人遇到這樣或可以提供任何幫助嗎?

謝謝

回答

0

在我的代碼中發現錯誤。

這是由於我的XAML中有錯誤。我將用戶控件移動到了不同的文件夾,因此後面的c#代碼在名稱空間的一個位置有一個相同名稱的類型,但XAML標記的類型位於不同位置(原始文件夾),因此具有構造函數的部分類沒有鏈接到我實際實例化的類型。

我修復了類型引用以指向命名空間中的正確位置,現在後面的部分類代碼被鏈接了起來。

相關問題