2009-12-18 86 views
1

我可以使用FrameworkElementFactory創建模板,但不推薦使用此類。根據MSDN,推薦的方法是使用XamlReader.Load從字符串或內存流中加載XAML。我得到這個工作,但認爲這是有點傷心:以編程方式創建/編輯模板的最佳方法

string xaml = "a lot of XAML"; 

任何建議能夠以更好的方式做到這一點?

我真正想要做的是能夠動態地更改DataTemplate中的綁定路徑。

<DataTemplate x:Key="DataTemplate1"> 
    <StackPanel> 
     <TextBlock>Some text</TextBlock> 
     <TextBlock Text="{Binding ThePathIWantToChange}"/> 
    </StackPanel> 
</DataTemplate> 
+0

你能解釋一下嗎?你想改變什麼道路? – Anvaka 2009-12-18 13:27:41

+0

我添加了一些XAML以更好地顯示我想要執行的操作。 – jostyposty 2009-12-18 14:16:58

回答

0

喬斯坦,

那豈不是更容易改變的屬性值和上升PropertyChanged事件?更新整個數據模板的方法對我來說看起來像是矯枉過正。

+0

我正在使用WPFToolkit中的DataGrid,但不知道在編譯時有多少列。我使用DataGrid的AutoGeneratingColumn事件根據業務對象中的某些信息設置不同的列類型。在某些情況下,我需要使用DataGridTemplateColumn,從而設置CellEditingTemplate和CellTemplate。當我設置這些模板時,我希望將綁定設置爲由DataGridAutoGeneratingColumnEventArgs對象給出的當前PropertyName。我不確定我在這種情況下如何應用您的方法? – jostyposty 2009-12-18 14:42:35