2009-01-28 58 views
1

我有一個用於我的應用程序的XAML表單,並且我已經創建了自己的子類Frame類,並編輯了該接口以指定我自己的內容類(因爲我需要訪問數據綁定內容的屬性)。XAML設計無法加載,因爲無法創建自定義對象

問題出現在設計師那裏,編譯器說它不能創建我的控制實例 - 我試圖對有問題的屬性位進行一些設計檢查,但那也沒有工作。

我怎樣才能讓控件顯示?工作在運行時細...

XAML:

<Grid Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"> 
<views:PageFrame Name="Content_MainPage" Frame.NavigationUIVisibility="Hidden"/>      
</Grid> 

CS:

 public new BaseView Content 
    { 
     get 
     { 
      if (DesignerProperties.GetIsInDesignMode(this)) 
      { 
       return new BaseView(); 
      } 
      else 
      { 
       return (BaseView)base.Content; 
      } 
     } 
     set 
     { 
      if (DesignerProperties.GetIsInDesignMode(this)) 
      { 
       base.Content = new BaseView(); 
       FrameTitle = "design mode"; 
      } 
      else 
      { 
       base.Content = value; 
       FrameTitle = value.Title; 
      } 
     } 
    } 

回答

0

創造我自己的面板類,當我遇到類似的問題就來了。

您的PageFrame類是否與您的XAML所在的組件相同?

我發現唯一可以讓這個工作的方法是將我的「PageFrame」類移動到一個新的程序集中。從內存中,我想我甚至必須提前構建該程序集,以便可以通過文件引用來引用程序集(而不是項目引用)。

我恨這個解決方案,所以我希望你能找到一個更清潔的:)

你有VS2008安裝SP1?我希望MS能夠修復這個bug。我沒有嘗試刪除我的解決方法來檢查...

+0

我覺得'嗨'也是爲了...... ;-) – 2009-01-29 01:58:43

0

它在同一個程序集 - 是的,我也安裝了VS2008 SP1。並不是說刪除上面的屬性可以使它從vs的角度來看工作正常,但顯然不是從我的角度來看!

我會給這個去 - 謝謝安東尼。

+0

沒問題。順便說一句:我們不是一起工作嗎? – 2009-01-29 02:09:36