2009-03-05 143 views

回答

3

請嘗試以下操作。不是當務之急WPF專家,所以你可能需要改變這種略帶

public void Example() 
{ 
    var factory = new FrameworkElementFactory(typeof(TextBlock)); 
    factory.SetBinding(TextBlock.TextProperty, new Binding("Text")); 

    var dataTemplate = new DataTemplate(); 
    dataTemplate.VisualTree = factory; 
    dataTemplate.Seal(); 
} 
+0

你爲什麼打電話給Seal()?這解決了我在創建模板並將其綁定到Telerik Grid時遇到的問題,但是在爲動態創建DateTemplate而發現的所有示例中,其他人都沒有使用Seal()? – 2013-07-24 08:25:12

3

從C#創建DataTemplates的正確方法是使用XamlReader併爲其提供您在問題中編寫的內容。

這是不愉快的,至少可以說。抱歉。

2

我只是檢查了在線文檔 - 阿倫是正確的 - 使用XamlReader。 根據Microsoft的說法,FrameworkElementFactory類不支持XAML的所有功能,將來可能會被棄用。儘管如此,我已經使用FrameworkElementFactory來即時更改DataTemplates,並且沒有任何問題。