2010-09-23 37 views
2

這可能更像是一種喧譁,但在Silverlight代碼中構建DataTemplates似乎是不可能的。在一個選項我知道使用XamlReader.Load(串)之中,一個是遇到了使用這種方法的幾個問題:在c#代碼中構建一個Silverlight DataTemplate代碼

  1. 沒有確認,一切都在連接的字符串完成。我們都知道這很糟糕

  2. 必須包括任何必要的資源,因爲這將在其自己的上下文中運行。這也很糟糕,雖然有一個合理的解釋,而不是一個表演停止。

  3. 任何嘗試在您的DataTemplate中包含事件調用都將失敗並顯示InvalidOperationException:控件無效的XA​​ML:XamlReader.Load()不接受事件處理程序。

3號似乎對我來說是一個阻礙。如果有人提供了一些線索,指針或想法,或者更好地實現這一目標,我將不勝感激。

在WPF中有一個FrameworkElementFactory可以提供幫助,但是在Silverlight中似乎沒有任何補救措施。

回答

0

也許你不需要在代碼中構建數據模板。你真的需要這樣做嗎?

(#2)您不需要包含xaml資源。它可以駐留在某個地方。所有你需要做的就是遠程加載它。但也許我不明白你的意思。

+0

那麼這是案件的假設之一,我真的很需要那樣做。相信我,我不想。 – danijels 2010-09-23 09:13:56